diff --git a/fastanime/__init__.py b/fastanime/__init__.py index ade47f3..9fd4055 100644 --- a/fastanime/__init__.py +++ b/fastanime/__init__.py @@ -3,11 +3,15 @@ import os import sys from platform import platform +from dotenv import load_dotenv from platformdirs import PlatformDirs -from rich.traceback import install -install(show_locals=True) -# Create a logger instance +load_dotenv() + +if os.environ.get("FA_RICH_TRACEBACK", False): + from rich.traceback import install + + install(show_locals=True) # initiate constants diff --git a/fastanime/__main__.py b/fastanime/__main__.py index d5688d8..a4f3094 100644 --- a/fastanime/__main__.py +++ b/fastanime/__main__.py @@ -10,7 +10,7 @@ if __package__ is None and not getattr(sys, "frozen", False): if __name__ == "__main__": - in_development = bool(os.environ.get("IN_DEVELOPMENT", True)) + in_development = bool(os.environ.get("FA_DEVELOPMENT", False)) from . import FastAnime if in_development: diff --git a/fastanime/api/__init__.py b/fastanime/api/__init__.py index e69de29..95d669e 100644 --- a/fastanime/api/__init__.py +++ b/fastanime/api/__init__.py @@ -0,0 +1,2 @@ +def run_api(): + pass diff --git a/fastanime/cli/config.py b/fastanime/cli/config.py index 3778e00..88368e8 100644 --- a/fastanime/cli/config.py +++ b/fastanime/cli/config.py @@ -1,5 +1,6 @@ import os from configparser import ConfigParser + from rich import print from .. import USER_CONFIG_PATH, USER_VIDEOS_DIR diff --git a/fastanime/cli/interfaces/anilist_interfaces.py b/fastanime/cli/interfaces/anilist_interfaces.py index 239c447..2ff71ae 100644 --- a/fastanime/cli/interfaces/anilist_interfaces.py +++ b/fastanime/cli/interfaces/anilist_interfaces.py @@ -416,8 +416,8 @@ def anilist_options(config, anilist_config: QueryDict): anilist_options(config, anilist_config) def _view_info(config, anilist_config): - from rich.prompt import Confirm from rich.console import Console + from rich.prompt import Confirm from ...Utility import anilist_data_helper from ...Utility.utils import remove_html_tags @@ -534,7 +534,7 @@ def anilist(config: Config, anilist_config: QueryDict): def edit_config(): import subprocess - process = subprocess.run([os.environ.get("EDITOR", "open"), USER_CONFIG_PATH]) + subprocess.run([os.environ.get("EDITOR", "open"), USER_CONFIG_PATH]) config.load_config() anilist(config, anilist_config) diff --git a/fastanime/cli/utils/tools.py b/fastanime/cli/utils/tools.py index c04f7eb..5516c99 100644 --- a/fastanime/cli/utils/tools.py +++ b/fastanime/cli/utils/tools.py @@ -24,4 +24,4 @@ def get_formatted_str(text: str, style): ansi_output = text.__rich_console__(None, None) # Join the ANSI strings to form the final output - ansi_string = "".join(segment.text for segment in ansi_output) + "".join(segment.text for segment in ansi_output) diff --git a/fastanime/libs/anime_provider/allanime/api.py b/fastanime/libs/anime_provider/allanime/api.py index e33e7aa..7838fba 100644 --- a/fastanime/libs/anime_provider/allanime/api.py +++ b/fastanime/libs/anime_provider/allanime/api.py @@ -3,19 +3,17 @@ import logging from typing import Generator import requests +from requests.exceptions import Timeout from rich import print from rich.progress import Progress -from requests.exceptions import Timeout from ....libs.anime_provider.allanime.types import ( AllAnimeEpisode, AllAnimeSearchResults, AllAnimeShow, - AllAnimeSources, AllAnimeStreams, Server, ) - from .constants import ( ALLANIME_API_ENDPOINT, ALLANIME_BASE, @@ -101,9 +99,7 @@ class AllAnimeAPI: episode = self._fetch_gql(ALLANIME_EPISODES_GQL, variables) return episode # pyright: ignore - def get_episode_streams( - self, allanime_episode_embeds_data - ) -> ( + def get_episode_streams(self, allanime_episode_embeds_data) -> ( Generator[ tuple[Server, AllAnimeStreams], tuple[Server, AllAnimeStreams], diff --git a/fastanime/libs/anime_provider/allanime/normalizer.py b/fastanime/libs/anime_provider/allanime/normalizer.py index eefb846..91adeb1 100644 --- a/fastanime/libs/anime_provider/allanime/normalizer.py +++ b/fastanime/libs/anime_provider/allanime/normalizer.py @@ -1,5 +1,5 @@ +from ..types import Anime, EpisodesDetail, SearchResults from .types import AllAnimeSearchResults, AllAnimeShow -from ..types import SearchResults, Anime, EpisodesDetail def normalize_search_results(search_results: AllAnimeSearchResults) -> SearchResults: diff --git a/poetry.lock b/poetry.lock index 3252ab9..777a76e 100644 --- a/poetry.lock +++ b/poetry.lock @@ -2596,4 +2596,4 @@ test = ["pytest (>=8.1,<9.0)"] [metadata] lock-version = "2.0" python-versions = "^3.10" -content-hash = "45c53795e57bbba793478185f83dc134da68f755a2e56810fbf127ac5d74d950" +content-hash = "dc5715573cb6e00d8069e22334a79de730238537b2b37df728abe69534e2bf81" diff --git a/pyproject.toml b/pyproject.toml index 7518566..89cdcd7 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -22,6 +22,7 @@ inquirerpy = "^0.3.4" platformdirs = "^4.2.2" fastapi = "^0.111.0" art = "^6.2" +python-dotenv = "^1.0.1" [tool.poetry.group.dev.dependencies] black = "^24.4.2" isort = "^5.13.2"