feat: import types only when type checking

This commit is contained in:
Benex254
2024-08-06 15:56:09 +03:00
parent 9187cc60f2
commit 93b2687985
7 changed files with 33 additions and 16 deletions

View File

@@ -4,12 +4,12 @@
"""
import logging
from typing import TYPE_CHECKING, Iterator
from typing import TYPE_CHECKING
from .libs.anime_provider import anime_sources
if TYPE_CHECKING:
from typing import Union
from typing import Iterator
from .libs.anilist.anilist_data_schema import AnilistBaseMediaDataSchema
from .libs.anime_provider.types import Anime, SearchResults, Server
@@ -46,7 +46,7 @@ class AnimeProvider:
self,
user_query,
translation_type,
anilist_obj: "Union[AnilistBaseMediaDataSchema ,None]" = None,
anilist_obj: "AnilistBaseMediaDataSchema | None" = None,
nsfw=True,
unknown=True,
) -> "SearchResults | None":
@@ -75,7 +75,7 @@ class AnimeProvider:
def get_anime(
self,
anime_id: str,
anilist_obj: "Union[AnilistBaseMediaDataSchema,None]" = None,
anilist_obj: "AnilistBaseMediaDataSchema | None" = None,
) -> "Anime | None":
"""core abstraction over getting info of an anime from all providers
@@ -99,7 +99,7 @@ class AnimeProvider:
anime,
episode: str,
translation_type: str,
anilist_obj: "Union[AnilistBaseMediaDataSchema,None]" = None,
anilist_obj: "AnilistBaseMediaDataSchema|None" = None,
) -> Iterator["Server"] | None:
"""core abstractions for getting juicy streams from all providers

View File

@@ -1,11 +1,14 @@
from typing import TYPE_CHECKING
import click
from ...config import Config
if TYPE_CHECKING:
from ...config import Config
@click.command(help="Check for notifications on anime you currently watching")
@click.pass_obj
def notifier(config: Config):
def notifier(config: "Config"):
import json
import logging
import os

View File

@@ -1,11 +1,14 @@
from typing import TYPE_CHECKING
import click
from ...config import Config
if TYPE_CHECKING:
from ...config import Config
@click.command(help="View anime you paused on watching")
@click.pass_obj
def paused(config: Config):
def paused(config: "Config"):
from ....anilist import AniList
from ...interfaces import anilist_interfaces
from ...utils.tools import QueryDict, exit_app

View File

@@ -1,11 +1,14 @@
from typing import TYPE_CHECKING
import click
from ...config import Config
if TYPE_CHECKING:
from ...config import Config
@click.command(help="View anime you are planning on watching")
@click.pass_obj
def planning(config: Config):
def planning(config: "Config"):
from ....anilist import AniList
from ...interfaces import anilist_interfaces
from ...utils.tools import QueryDict, exit_app

View File

@@ -1,11 +1,14 @@
from typing import TYPE_CHECKING
import click
from ...config import Config
if TYPE_CHECKING:
from ...config import Config
@click.command(help="View anime you are rewatching")
@click.pass_obj
def rewatching(config: Config):
def rewatching(config: "Config"):
from ....anilist import AniList
from ...interfaces import anilist_interfaces
from ...utils.tools import QueryDict, exit_app

View File

@@ -1,11 +1,14 @@
from typing import TYPE_CHECKING
import click
from ...config import Config
if TYPE_CHECKING:
from ...config import Config
@click.command(help="View anime you are watching")
@click.pass_obj
def watching(config: Config):
def watching(config: "Config"):
from ....anilist import AniList
from ...interfaces import anilist_interfaces
from ...utils.tools import QueryDict, exit_app

View File

@@ -5,7 +5,7 @@ abstraction over allanime api
import json
import logging
from typing import TYPE_CHECKING, Iterator
from typing import TYPE_CHECKING
from requests.exceptions import Timeout
@@ -21,6 +21,8 @@ from .gql_queries import ALLANIME_EPISODES_GQL, ALLANIME_SEARCH_GQL, ALLANIME_SH
from .normalizer import normalize_anime, normalize_search_results
if TYPE_CHECKING:
from typing import Iterator
from ....libs.anime_provider.allanime.types import AllAnimeEpisode
from ....libs.anime_provider.types import Anime, Server
logger = logging.getLogger(__name__)