From 3686cdfdb3f722442a10e4faed408c6a2ed5eab2 Mon Sep 17 00:00:00 2001 From: Benex254 Date: Thu, 15 Aug 2024 12:21:29 +0300 Subject: [PATCH] feat(completions): enhance speed of loading completion functions --- fastanime/cli/commands/anilist/search.py | 2 +- fastanime/cli/commands/download.py | 2 +- fastanime/cli/commands/search.py | 2 +- ...etion_types.py => completion_functions.py} | 27 +++++-------------- 4 files changed, 9 insertions(+), 24 deletions(-) rename fastanime/cli/{utils/completion_types.py => completion_functions.py} (75%) diff --git a/fastanime/cli/commands/anilist/search.py b/fastanime/cli/commands/anilist/search.py index 32d4c0d..1a00915 100644 --- a/fastanime/cli/commands/anilist/search.py +++ b/fastanime/cli/commands/anilist/search.py @@ -1,6 +1,6 @@ import click -from ...utils.completion_types import anime_titles_shell_complete +from ...completion_functions import anime_titles_shell_complete @click.command( diff --git a/fastanime/cli/commands/download.py b/fastanime/cli/commands/download.py index 7e5be26..c5a0949 100644 --- a/fastanime/cli/commands/download.py +++ b/fastanime/cli/commands/download.py @@ -3,7 +3,7 @@ from typing import TYPE_CHECKING import click -from ..utils.completion_types import anime_titles_shell_complete +from ..completion_functions import anime_titles_shell_complete if TYPE_CHECKING: from ..config import Config diff --git a/fastanime/cli/commands/search.py b/fastanime/cli/commands/search.py index 887ed9e..197828e 100644 --- a/fastanime/cli/commands/search.py +++ b/fastanime/cli/commands/search.py @@ -1,7 +1,7 @@ import click from ...cli.config import Config -from ..utils.completion_types import anime_titles_shell_complete +from ..completion_functions import anime_titles_shell_complete @click.command( diff --git a/fastanime/cli/utils/completion_types.py b/fastanime/cli/completion_functions.py similarity index 75% rename from fastanime/cli/utils/completion_types.py rename to fastanime/cli/completion_functions.py index 119f40d..fd351e2 100644 --- a/fastanime/cli/utils/completion_types.py +++ b/fastanime/cli/completion_functions.py @@ -1,10 +1,3 @@ -from typing import TYPE_CHECKING - -import requests - -if TYPE_CHECKING: - from ...libs.anilist.types import AnilistDataSchema - import logging logger = logging.getLogger(__name__) @@ -43,13 +36,15 @@ def get_anime_titles(query: str, variables: dict = {}): Returns: a boolean indicating success and none or an anilist object depending on success """ + from requests import post + try: - response = requests.post( + response = post( ANILIST_ENDPOINT, json={"query": query, "variables": variables}, timeout=10, ) - anilist_data: AnilistDataSchema = response.json() + anilist_data = response.json() # ensuring you dont get blocked if ( @@ -78,20 +73,10 @@ def get_anime_titles(query: str, variables: dict = {}): ] return [*eng_titles, *romaji_titles] else: - return ["non 200 status code"] - except requests.exceptions.Timeout: - logger.warning( - "Timeout has been exceeded this could mean anilist is down or you have lost internet connection" - ) - return ["timeout exceeded"] - except requests.exceptions.ConnectionError: - logger.warning( - "ConnectionError this could mean anilist is down or you have lost internet connection" - ) - return ["connection error"] + return [] except Exception as e: logger.error(f"Something unexpected occured {e}") - return ["unexpected error"] + return [] def anime_titles_shell_complete(ctx, param, incomplete):