refactor: reorganise menus

This commit is contained in:
Benexl
2025-07-24 18:30:51 +03:00
parent 048d008ca1
commit 4349b9fc22
14 changed files with 34 additions and 34 deletions

View File

@@ -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

View File

@@ -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]

View File

@@ -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()

View File

@@ -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]]

View File

@@ -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())

View File

@@ -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()),

View File

@@ -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

View File

@@ -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