mirror of
https://github.com/Benexl/FastAnime.git
synced 2026-01-16 06:42:43 -08:00
refactor: reorganise menus
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
from ..session import Context, session
|
||||
from ..state import InternalDirective, MenuName, State
|
||||
from ...session import Context, session
|
||||
from ...state import InternalDirective, MenuName, State
|
||||
|
||||
|
||||
@session.menu
|
||||
@@ -39,7 +39,7 @@ def episodes(ctx: Context, state: State) -> State | InternalDirective:
|
||||
|
||||
preview_command = None
|
||||
if ctx.config.general.preview != "none":
|
||||
from ...utils.previews import get_episode_preview
|
||||
from ....utils.previews import get_episode_preview
|
||||
|
||||
preview_command = get_episode_preview(
|
||||
available_episodes, media_item, ctx.config
|
||||
@@ -2,14 +2,14 @@ import logging
|
||||
import random
|
||||
from typing import Callable, Dict
|
||||
|
||||
from ....libs.media_api.params import MediaSearchParams, UserMediaListSearchParams
|
||||
from ....libs.media_api.types import (
|
||||
from .....libs.media_api.params import MediaSearchParams, UserMediaListSearchParams
|
||||
from .....libs.media_api.types import (
|
||||
MediaSort,
|
||||
MediaStatus,
|
||||
UserMediaListStatus,
|
||||
)
|
||||
from ..session import Context, session
|
||||
from ..state import InternalDirective, MediaApiState, MenuName, State
|
||||
from ...session import Context, session
|
||||
from ...state import InternalDirective, MediaApiState, MenuName, State
|
||||
|
||||
logger = logging.getLogger(__name__)
|
||||
MenuAction = Callable[[], State | InternalDirective]
|
||||
@@ -2,11 +2,11 @@ from typing import Callable, Dict
|
||||
|
||||
from rich.console import Console
|
||||
|
||||
from ....libs.media_api.params import UpdateUserMediaListEntryParams
|
||||
from ....libs.media_api.types import UserMediaListStatus
|
||||
from ....libs.players.params import PlayerParams
|
||||
from ..session import Context, session
|
||||
from ..state import InternalDirective, MenuName, State
|
||||
from .....libs.media_api.params import UpdateUserMediaListEntryParams
|
||||
from .....libs.media_api.types import UserMediaListStatus
|
||||
from .....libs.players.params import PlayerParams
|
||||
from ...session import Context, session
|
||||
from ...state import InternalDirective, MenuName, State
|
||||
|
||||
MenuAction = Callable[[], State | InternalDirective]
|
||||
|
||||
@@ -155,7 +155,7 @@ def _view_info(ctx: Context, state: State) -> MenuAction:
|
||||
from rich.panel import Panel
|
||||
from rich.text import Text
|
||||
|
||||
from ...utils import image
|
||||
from ....utils import image
|
||||
|
||||
# TODO: make this look nicer plus add other fields
|
||||
console = Console()
|
||||
@@ -1,7 +1,7 @@
|
||||
from typing import Callable, Dict, Union
|
||||
|
||||
from ..session import Context, session
|
||||
from ..state import InternalDirective, MenuName, State
|
||||
from ...session import Context, session
|
||||
from ...state import InternalDirective, MenuName, State
|
||||
|
||||
MenuAction = Callable[[], Union[State, InternalDirective]]
|
||||
|
||||
@@ -1,10 +1,10 @@
|
||||
from rich.progress import Progress
|
||||
from thefuzz import fuzz
|
||||
|
||||
from ....libs.providers.anime.params import SearchParams
|
||||
from ....libs.providers.anime.types import SearchResult
|
||||
from ..session import Context, session
|
||||
from ..state import InternalDirective, MenuName, ProviderState, State
|
||||
from .....libs.providers.anime.params import SearchParams
|
||||
from .....libs.providers.anime.types import SearchResult
|
||||
from ...session import Context, session
|
||||
from ...state import InternalDirective, MenuName, ProviderState, State
|
||||
|
||||
|
||||
@session.menu
|
||||
@@ -73,7 +73,7 @@ def provider_search(ctx: Context, state: State) -> State | InternalDirective:
|
||||
f"[cyan]Fetching full details for '{selected_provider_anime.title}'...",
|
||||
total=None,
|
||||
)
|
||||
from ....libs.providers.anime.params import AnimeParams
|
||||
from .....libs.providers.anime.params import AnimeParams
|
||||
|
||||
full_provider_anime = provider.get(
|
||||
AnimeParams(id=selected_provider_anime.id, query=media_title.lower())
|
||||
@@ -1,10 +1,10 @@
|
||||
from dataclasses import asdict
|
||||
from typing import Callable, Dict, Union
|
||||
|
||||
from ....libs.media_api.params import MediaSearchParams, UserMediaListSearchParams
|
||||
from ....libs.media_api.types import MediaItem, MediaStatus, UserMediaListStatus
|
||||
from ..session import Context, session
|
||||
from ..state import InternalDirective, MediaApiState, MenuName, State
|
||||
from .....libs.media_api.params import MediaSearchParams, UserMediaListSearchParams
|
||||
from .....libs.media_api.types import MediaItem, MediaStatus, UserMediaListStatus
|
||||
from ...session import Context, session
|
||||
from ...state import InternalDirective, MediaApiState, MenuName, State
|
||||
|
||||
|
||||
@session.menu
|
||||
@@ -26,7 +26,7 @@ def results(ctx: Context, state: State) -> State | InternalDirective:
|
||||
|
||||
preview_command = None
|
||||
if ctx.config.general.preview != "none":
|
||||
from ...utils.previews import get_anime_preview
|
||||
from ....utils.previews import get_anime_preview
|
||||
|
||||
preview_command = get_anime_preview(
|
||||
list(search_result_dict.values()),
|
||||
@@ -1,10 +1,10 @@
|
||||
from typing import Dict, List
|
||||
|
||||
from ....libs.players.params import PlayerParams
|
||||
from ....libs.providers.anime.params import EpisodeStreamsParams
|
||||
from ....libs.providers.anime.types import ProviderServer, Server
|
||||
from ..session import Context, session
|
||||
from ..state import InternalDirective, MenuName, State
|
||||
from .....libs.players.params import PlayerParams
|
||||
from .....libs.providers.anime.params import EpisodeStreamsParams
|
||||
from .....libs.providers.anime.types import ProviderServer, Server
|
||||
from ...session import Context, session
|
||||
from ...state import InternalDirective, MenuName, State
|
||||
|
||||
|
||||
@session.menu
|
||||
@@ -180,7 +180,7 @@ class Session:
|
||||
|
||||
return decorator
|
||||
|
||||
def load_menus_from_folder(self, package):
|
||||
def load_menus_from_folder(self, package:str):
|
||||
package_path = MENUS_DIR / package
|
||||
package_name = package_path.name
|
||||
logger.debug(f"Loading menus from '{package_path}'...")
|
||||
@@ -189,7 +189,7 @@ class Session:
|
||||
if filename.endswith(".py") and not filename.startswith("__"):
|
||||
module_name = filename[:-3]
|
||||
full_module_name = (
|
||||
f"fastanime.cli.interactive.{package_name}.{module_name}"
|
||||
f"fastanime.cli.interactive.menus.{package_name}.{module_name}"
|
||||
)
|
||||
file_path = package_path / filename
|
||||
|
||||
|
||||
Reference in New Issue
Block a user