From 383cb62ede08539e5ff4e70afca2d22c12c268cb Mon Sep 17 00:00:00 2001 From: benex Date: Mon, 2 Dec 2024 22:26:03 +0300 Subject: [PATCH] style: format files --- .pre-commit-config.yaml | 10 +++---- fastanime/cli/__init__.py | 3 +- fastanime/cli/app_updater.py | 2 +- fastanime/cli/commands/anilist/download.py | 12 ++++---- fastanime/cli/commands/anilist/search.py | 8 +++--- fastanime/cli/config.py | 6 ++-- .../cli/interfaces/anilist_interfaces.py | 28 ++++++------------- fastanime/cli/utils/mpv.py | 4 +-- fastanime/cli/utils/tools.py | 3 +- fastanime/libs/anime_provider/allanime/api.py | 5 ++-- fastanime/libs/anime_provider/hianime/api.py | 2 +- .../libs/anime_provider/hianime/extractors.py | 10 +++---- fastanime/libs/anime_provider/nyaa/api.py | 4 ++- fastanime/libs/anime_provider/yugen/api.py | 13 +++++---- tests/test_all_commands.py | 5 ++-- 15 files changed, 55 insertions(+), 60 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index aa9e5f4..816eaa1 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -19,11 +19,11 @@ repos: "--remove-unused-variables", "--remove-all-unused-imports", ] - - repo: https://github.com/astral-sh/ruff-pre-commit - rev: v0.4.10 - hooks: - - id: ruff - args: [--fix] + # - repo: https://github.com/astral-sh/ruff-pre-commit + # rev: v0.4.10 + # hooks: + # - id: ruff + # args: [--fix] - repo: https://github.com/psf/black-pre-commit-mirror rev: 24.4.2 diff --git a/fastanime/cli/__init__.py b/fastanime/cli/__init__.py index fc92b76..338dcb0 100644 --- a/fastanime/cli/__init__.py +++ b/fastanime/cli/__init__.py @@ -253,9 +253,10 @@ def run_cli( if not is_latest: from rich.console import Console from rich.markdown import Markdown - from .app_updater import update_app from rich.prompt import Confirm + from .app_updater import update_app + def _print_release(release_data): console = Console() body = Markdown(release_data["body"]) diff --git a/fastanime/cli/app_updater.py b/fastanime/cli/app_updater.py index 0bb7eed..7bf1ef4 100644 --- a/fastanime/cli/app_updater.py +++ b/fastanime/cli/app_updater.py @@ -1,10 +1,10 @@ +import os import pathlib import re import shlex import shutil import subprocess import sys -import os import requests from rich import print diff --git a/fastanime/cli/commands/anilist/download.py b/fastanime/cli/commands/anilist/download.py index 46ccad9..3060905 100644 --- a/fastanime/cli/commands/anilist/download.py +++ b/fastanime/cli/commands/anilist/download.py @@ -1,14 +1,13 @@ import click - from ...completion_functions import anime_titles_shell_complete from .data import ( - tags_available_list, - sorts_available, - media_statuses_available, - seasons_available, genres_available, media_formats_available, + media_statuses_available, + seasons_available, + sorts_available, + tags_available_list, years_available, ) @@ -146,9 +145,10 @@ def download( hls_use_mpegts, max_results, ): - from ....anilist import AniList from rich import print + from ....anilist import AniList + force_ffmpeg |= hls_use_mpegts success, anilist_search_results = AniList.search( diff --git a/fastanime/cli/commands/anilist/search.py b/fastanime/cli/commands/anilist/search.py index 4c6a3f8..b1da4ef 100644 --- a/fastanime/cli/commands/anilist/search.py +++ b/fastanime/cli/commands/anilist/search.py @@ -2,12 +2,12 @@ import click from ...completion_functions import anime_titles_shell_complete from .data import ( - tags_available_list, - sorts_available, - media_statuses_available, - seasons_available, genres_available, media_formats_available, + media_statuses_available, + seasons_available, + sorts_available, + tags_available_list, years_available, ) diff --git a/fastanime/cli/config.py b/fastanime/cli/config.py index 5f5a5ac..77557eb 100644 --- a/fastanime/cli/config.py +++ b/fastanime/cli/config.py @@ -3,16 +3,16 @@ import logging import os from configparser import ConfigParser from typing import TYPE_CHECKING -from ..libs.fzf import FZF_DEFAULT_OPTS, HEADER from ..constants import ( + ASSETS_DIR, + S_PLATFORM, USER_CONFIG_PATH, USER_DATA_PATH, USER_VIDEOS_DIR, - ASSETS_DIR, USER_WATCH_HISTORY_PATH, - S_PLATFORM, ) +from ..libs.fzf import FZF_DEFAULT_OPTS, HEADER from ..libs.rofi import Rofi logger = logging.getLogger(__name__) diff --git a/fastanime/cli/interfaces/anilist_interfaces.py b/fastanime/cli/interfaces/anilist_interfaces.py index 5e69ef4..52ea0b2 100644 --- a/fastanime/cli/interfaces/anilist_interfaces.py +++ b/fastanime/cli/interfaces/anilist_interfaces.py @@ -1360,7 +1360,9 @@ def media_actions_menu( fastanime_runtime_state.anilist_results_data = { "data": { - "Page": {"media": relations[1]["data"]["Media"]["relations"]["nodes"]} # pyright:ignore + "Page": { + "media": relations[1]["data"]["Media"]["relations"]["nodes"] + } # pyright:ignore } } anilist_results_menu(config, fastanime_runtime_state) @@ -1728,34 +1730,22 @@ def fastanime_main_menu( options = { f"{'🔥 ' if icons else ''}Trending": AniList.get_trending, f"{'🎞️ ' if icons else ''}Recent": _recent, - f"{'📺 ' if icons else ''}Watching": lambda config, - media_list_type="Watching", - page=1: _handle_animelist( + f"{'📺 ' if icons else ''}Watching": lambda config, media_list_type="Watching", page=1: _handle_animelist( config, fastanime_runtime_state, media_list_type, page=page ), - f"{'⏸ ' if icons else ''}Paused": lambda config, - media_list_type="Paused", - page=1: _handle_animelist( + f"{'⏸ ' if icons else ''}Paused": lambda config, media_list_type="Paused", page=1: _handle_animelist( config, fastanime_runtime_state, media_list_type, page=page ), - f"{'🚮 ' if icons else ''}Dropped": lambda config, - media_list_type="Dropped", - page=1: _handle_animelist( + f"{'🚮 ' if icons else ''}Dropped": lambda config, media_list_type="Dropped", page=1: _handle_animelist( config, fastanime_runtime_state, media_list_type, page=page ), - f"{'📑 ' if icons else ''}Planned": lambda config, - media_list_type="Planned", - page=1: _handle_animelist( + f"{'📑 ' if icons else ''}Planned": lambda config, media_list_type="Planned", page=1: _handle_animelist( config, fastanime_runtime_state, media_list_type, page=page ), - f"{'✅ ' if icons else ''}Completed": lambda config, - media_list_type="Completed", - page=1: _handle_animelist( + f"{'✅ ' if icons else ''}Completed": lambda config, media_list_type="Completed", page=1: _handle_animelist( config, fastanime_runtime_state, media_list_type, page=page ), - f"{'🔁 ' if icons else ''}Rewatching": lambda config, - media_list_type="Rewatching", - page=1: _handle_animelist( + f"{'🔁 ' if icons else ''}Rewatching": lambda config, media_list_type="Rewatching", page=1: _handle_animelist( config, fastanime_runtime_state, media_list_type, page=page ), f"{'🔔 ' if icons else ''}Recently Updated Anime": AniList.get_most_recently_updated, diff --git a/fastanime/cli/utils/mpv.py b/fastanime/cli/utils/mpv.py index 92f3822..25cd253 100644 --- a/fastanime/cli/utils/mpv.py +++ b/fastanime/cli/utils/mpv.py @@ -1,8 +1,8 @@ -import re +import logging import os +import re import shutil import subprocess -import logging import time from ...constants import S_PLATFORM diff --git a/fastanime/cli/utils/tools.py b/fastanime/cli/utils/tools.py index 7433a65..88f35d4 100644 --- a/fastanime/cli/utils/tools.py +++ b/fastanime/cli/utils/tools.py @@ -1,11 +1,10 @@ from typing import TYPE_CHECKING if TYPE_CHECKING: - from typing import Any + from typing import Any, Callable from ...libs.anilist.types import AnilistBaseMediaDataSchema from ...libs.anime_provider.types import Anime, EpisodeStream, SearchResult, Server - from typing import Callable class FastAnimeRuntimeState(object): diff --git a/fastanime/libs/anime_provider/allanime/api.py b/fastanime/libs/anime_provider/allanime/api.py index 86b6a4c..cfdede2 100644 --- a/fastanime/libs/anime_provider/allanime/api.py +++ b/fastanime/libs/anime_provider/allanime/api.py @@ -1,17 +1,18 @@ import json import logging from typing import TYPE_CHECKING + from ...anime_provider.base_provider import AnimeProvider from ..decorators import debug_provider from ..utils import give_random_quality, one_digit_symmetric_xor from .constants import ( - API_ENDPOINT, API_BASE_URL, + API_ENDPOINT, API_REFERER, - DEFAULT_PER_PAGE, DEFAULT_COUNTRY_OF_ORIGIN, DEFAULT_NSFW, DEFAULT_PAGE, + DEFAULT_PER_PAGE, DEFAULT_UNKNOWN, MP4_SERVER_JUICY_STREAM_REGEX, ) diff --git a/fastanime/libs/anime_provider/hianime/api.py b/fastanime/libs/anime_provider/hianime/api.py index 3ddea72..f206959 100644 --- a/fastanime/libs/anime_provider/hianime/api.py +++ b/fastanime/libs/anime_provider/hianime/api.py @@ -3,7 +3,6 @@ import re from html.parser import HTMLParser from itertools import cycle from urllib.parse import quote_plus -from .extractors import MegaCloud from yt_dlp.utils import ( clean_html, @@ -18,6 +17,7 @@ from ..base_provider import AnimeProvider from ..decorators import debug_provider from ..utils import give_random_quality from .constants import SERVERS_AVAILABLE +from .extractors import MegaCloud from .types import HiAnimeStream logger = logging.getLogger(__name__) diff --git a/fastanime/libs/anime_provider/hianime/extractors.py b/fastanime/libs/anime_provider/hianime/extractors.py index bd36a38..7d67e2d 100644 --- a/fastanime/libs/anime_provider/hianime/extractors.py +++ b/fastanime/libs/anime_provider/hianime/extractors.py @@ -1,11 +1,11 @@ import hashlib -import time -import re import json -from typing import List, Dict -from Crypto.Cipher import AES +import re +import time from base64 import b64decode -from typing import TYPE_CHECKING +from typing import TYPE_CHECKING, Dict, List + +from Crypto.Cipher import AES if TYPE_CHECKING: from ...common.requests_cacher import CachedRequestsSession diff --git a/fastanime/libs/anime_provider/nyaa/api.py b/fastanime/libs/anime_provider/nyaa/api.py index 077fd21..2643b3e 100644 --- a/fastanime/libs/anime_provider/nyaa/api.py +++ b/fastanime/libs/anime_provider/nyaa/api.py @@ -32,7 +32,9 @@ class Nyaa(AnimeProvider): @debug_provider def search_for_anime(self, user_query: str, *args, **_): - self.search_results = search_for_anime_with_anilist(user_query, True) # pyright: ignore + self.search_results = search_for_anime_with_anilist( + user_query, True + ) # pyright: ignore self.user_query = user_query return self.search_results diff --git a/fastanime/libs/anime_provider/yugen/api.py b/fastanime/libs/anime_provider/yugen/api.py index 08a0cd3..d88960f 100644 --- a/fastanime/libs/anime_provider/yugen/api.py +++ b/fastanime/libs/anime_provider/yugen/api.py @@ -1,17 +1,18 @@ import base64 +import re from itertools import cycle + from yt_dlp.utils import ( - get_element_text_and_html_by_tag, - get_elements_text_and_html_by_attribute, extract_attributes, get_element_by_attribute, + get_element_text_and_html_by_tag, + get_elements_text_and_html_by_attribute, ) -import re - from yt_dlp.utils.traversal import get_element_html_by_attribute -from .constants import YUGEN_ENDPOINT, SEARCH_URL -from ..decorators import debug_provider + from ..base_provider import AnimeProvider +from ..decorators import debug_provider +from .constants import SEARCH_URL, YUGEN_ENDPOINT # ** Adapted from anipy-cli ** diff --git a/tests/test_all_commands.py b/tests/test_all_commands.py index 0a129b7..2708714 100644 --- a/tests/test_all_commands.py +++ b/tests/test_all_commands.py @@ -1,6 +1,7 @@ +from unittest.mock import patch + import pytest from click.testing import CliRunner -from unittest.mock import patch from fastanime.cli import run_cli @@ -151,7 +152,7 @@ def test_anilist_watching_help(runner: CliRunner): def test_check_for_updates_not_called_on_completions(runner): - with patch('fastanime.cli.app_updater.check_for_updates') as mock_check_for_updates: + with patch("fastanime.cli.app_updater.check_for_updates") as mock_check_for_updates: result = runner.invoke(run_cli, ["completions"]) assert result.exit_code == 0 mock_check_for_updates.assert_not_called()