mirror of
https://github.com/Benexl/FastAnime.git
synced 2026-01-06 17:53:40 -08:00
feat: improve state models
This commit is contained in:
@@ -18,11 +18,11 @@ if TYPE_CHECKING:
|
||||
)
|
||||
@click.pass_obj
|
||||
def favourites(config: "AppConfig", dump_json: bool):
|
||||
from fastanime.libs.api.params import ApiSearchParams
|
||||
from fastanime.libs.api.params import MediaSearchParams
|
||||
from ..helpers import handle_media_search_command
|
||||
|
||||
def create_search_params(config):
|
||||
return ApiSearchParams(
|
||||
return MediaSearchParams(
|
||||
per_page=config.anilist.per_page or 15,
|
||||
sort=["FAVOURITES_DESC"]
|
||||
)
|
||||
|
||||
@@ -18,11 +18,11 @@ if TYPE_CHECKING:
|
||||
)
|
||||
@click.pass_obj
|
||||
def popular(config: "AppConfig", dump_json: bool):
|
||||
from fastanime.libs.api.params import ApiSearchParams
|
||||
from fastanime.libs.api.params import MediaSearchParams
|
||||
from ..helpers import handle_media_search_command
|
||||
|
||||
def create_search_params(config):
|
||||
return ApiSearchParams(
|
||||
return MediaSearchParams(
|
||||
per_page=config.anilist.per_page or 15,
|
||||
sort=["POPULARITY_DESC"]
|
||||
)
|
||||
|
||||
@@ -24,7 +24,7 @@ def random_anime(config: "AppConfig", dump_json: bool):
|
||||
from fastanime.cli.utils.feedback import create_feedback_manager
|
||||
from fastanime.core.exceptions import FastAnimeError
|
||||
from fastanime.libs.api.factory import create_api_client
|
||||
from fastanime.libs.api.params import ApiSearchParams
|
||||
from fastanime.libs.api.params import MediaSearchParams
|
||||
from rich.progress import Progress
|
||||
|
||||
feedback = create_feedback_manager(config.general.icons)
|
||||
@@ -39,7 +39,7 @@ def random_anime(config: "AppConfig", dump_json: bool):
|
||||
# Search for random anime
|
||||
with Progress() as progress:
|
||||
progress.add_task("Fetching random anime...", total=None)
|
||||
search_params = ApiSearchParams(id_in=random_ids, per_page=50)
|
||||
search_params = MediaSearchParams(id_in=random_ids, per_page=50)
|
||||
search_result = api_client.search_media(search_params)
|
||||
|
||||
if not search_result or not search_result.media:
|
||||
|
||||
@@ -18,11 +18,11 @@ if TYPE_CHECKING:
|
||||
)
|
||||
@click.pass_obj
|
||||
def recent(config: "AppConfig", dump_json: bool):
|
||||
from fastanime.libs.api.params import ApiSearchParams
|
||||
from fastanime.libs.api.params import MediaSearchParams
|
||||
from ..helpers import handle_media_search_command
|
||||
|
||||
def create_search_params(config):
|
||||
return ApiSearchParams(
|
||||
return MediaSearchParams(
|
||||
per_page=config.anilist.per_page or 15,
|
||||
sort=["UPDATED_AT_DESC"],
|
||||
status_in=["RELEASING"]
|
||||
|
||||
@@ -18,11 +18,11 @@ if TYPE_CHECKING:
|
||||
)
|
||||
@click.pass_obj
|
||||
def scores(config: "AppConfig", dump_json: bool):
|
||||
from fastanime.libs.api.params import ApiSearchParams
|
||||
from fastanime.libs.api.params import MediaSearchParams
|
||||
from ..helpers import handle_media_search_command
|
||||
|
||||
def create_search_params(config):
|
||||
return ApiSearchParams(
|
||||
return MediaSearchParams(
|
||||
per_page=config.anilist.per_page or 15,
|
||||
sort=["SCORE_DESC"]
|
||||
)
|
||||
|
||||
@@ -98,7 +98,7 @@ def search(
|
||||
from fastanime.cli.utils.feedback import create_feedback_manager
|
||||
from fastanime.core.exceptions import FastAnimeError
|
||||
from fastanime.libs.api.factory import create_api_client
|
||||
from fastanime.libs.api.params import ApiSearchParams
|
||||
from fastanime.libs.api.params import MediaSearchParams
|
||||
from rich.progress import Progress
|
||||
|
||||
feedback = create_feedback_manager(config.general.icons)
|
||||
@@ -108,7 +108,7 @@ def search(
|
||||
api_client = create_api_client(config.general.media_api, config)
|
||||
|
||||
# Build search parameters
|
||||
search_params = ApiSearchParams(
|
||||
search_params = MediaSearchParams(
|
||||
query=title,
|
||||
per_page=config.anilist.per_page or 50,
|
||||
sort=[sort] if sort else None,
|
||||
|
||||
@@ -18,13 +18,13 @@ if TYPE_CHECKING:
|
||||
)
|
||||
@click.pass_obj
|
||||
def trending(config: "AppConfig", dump_json: bool):
|
||||
from fastanime.libs.api.params import ApiSearchParams
|
||||
from fastanime.libs.api.params import MediaSearchParams
|
||||
|
||||
from ..helpers import handle_media_search_command
|
||||
|
||||
def create_search_params(config):
|
||||
return ApiSearchParams(
|
||||
per_page=config.anilist.per_page or 15,
|
||||
sort=["TRENDING_DESC"]
|
||||
return MediaSearchParams(
|
||||
per_page=config.anilist.per_page or 15, sort=["TRENDING_DESC"]
|
||||
)
|
||||
|
||||
handle_media_search_command(
|
||||
@@ -32,5 +32,5 @@ def trending(config: "AppConfig", dump_json: bool):
|
||||
dump_json=dump_json,
|
||||
task_name="Fetching trending anime...",
|
||||
search_params_factory=create_search_params,
|
||||
empty_message="No trending anime found"
|
||||
empty_message="No trending anime found",
|
||||
)
|
||||
|
||||
@@ -18,11 +18,11 @@ if TYPE_CHECKING:
|
||||
)
|
||||
@click.pass_obj
|
||||
def upcoming(config: "AppConfig", dump_json: bool):
|
||||
from fastanime.libs.api.params import ApiSearchParams
|
||||
from fastanime.libs.api.params import MediaSearchParams
|
||||
from ..helpers import handle_media_search_command
|
||||
|
||||
def create_search_params(config):
|
||||
return ApiSearchParams(
|
||||
return MediaSearchParams(
|
||||
per_page=config.anilist.per_page or 15,
|
||||
sort=["POPULARITY_DESC"],
|
||||
status_in=["NOT_YET_RELEASED"]
|
||||
|
||||
@@ -119,7 +119,7 @@ def handle_user_list_command(
|
||||
"""
|
||||
from fastanime.cli.utils.feedback import create_feedback_manager
|
||||
from fastanime.core.exceptions import FastAnimeError
|
||||
from fastanime.libs.api.params import UserListParams
|
||||
from fastanime.libs.api.params import UserMediaListSearchParams
|
||||
|
||||
feedback = create_feedback_manager(config.general.icons)
|
||||
|
||||
@@ -145,7 +145,7 @@ def handle_user_list_command(
|
||||
# Fetch user's anime list
|
||||
with Progress() as progress:
|
||||
progress.add_task(f"Fetching your {list_name} list...", total=None)
|
||||
list_params = UserListParams(
|
||||
list_params = UserMediaListSearchParams(
|
||||
status=status, # type: ignore # We validated it above
|
||||
page=1,
|
||||
per_page=config.anilist.per_page or 50,
|
||||
|
||||
Reference in New Issue
Block a user