diff --git a/fastanime/AnimeProvider.py b/fastanime/AnimeProvider.py index 5fb7064..50719b6 100644 --- a/fastanime/AnimeProvider.py +++ b/fastanime/AnimeProvider.py @@ -62,11 +62,7 @@ class AnimeProvider: ) def search_for_anime( - self, - user_query, - translation_type, - nsfw=True, - unknown=True, + self, search_keywords, translation_type, **kwargs ) -> "SearchResults | None": """core abstraction over all providers search functionality @@ -82,7 +78,7 @@ class AnimeProvider: """ anime_provider = self.anime_provider results = anime_provider.search_for_anime( - user_query, translation_type, nsfw, unknown + search_keywords, translation_type, **kwargs ) return results @@ -90,6 +86,7 @@ class AnimeProvider: def get_anime( self, anime_id: str, + **kwargs, ) -> "Anime | None": """core abstraction over getting info of an anime from all providers @@ -101,7 +98,7 @@ class AnimeProvider: [TODO:return] """ anime_provider = self.anime_provider - results = anime_provider.get_anime(anime_id) + results = anime_provider.get_anime(anime_id, **kwargs) return results @@ -110,6 +107,7 @@ class AnimeProvider: anime_id, episode: str, translation_type: str, + **kwargs, ) -> "Iterator[Server] | None": """core abstractions for getting juicy streams from all providers @@ -124,6 +122,6 @@ class AnimeProvider: """ anime_provider = self.anime_provider results = anime_provider.get_episode_streams( - anime_id, episode, translation_type + anime_id, episode, translation_type, **kwargs ) return results diff --git a/fastanime/libs/anime_provider/allanime/api.py b/fastanime/libs/anime_provider/allanime/api.py index 32bc9ba..536f4ad 100644 --- a/fastanime/libs/anime_provider/allanime/api.py +++ b/fastanime/libs/anime_provider/allanime/api.py @@ -81,11 +81,11 @@ class AllAnime(AnimeProvider): search_keywords: str, translation_type: str, *, + nsfw=DEFAULT_NSFW, + unknown=DEFAULT_UNKNOWN, limit=DEFAULT_PER_PAGE, page=DEFAULT_PAGE, country_of_origin=DEFAULT_COUNTRY_OF_ORIGIN, - nsfw=DEFAULT_NSFW, - unknown=DEFAULT_UNKNOWN, **kwargs, ): """ @@ -134,7 +134,7 @@ class AllAnime(AnimeProvider): } @debug_provider - def get_anime(self, id: str): + def get_anime(self, id: str, **kwargs): """ Fetches anime details using the provided show ID. Args: @@ -179,7 +179,13 @@ class AllAnime(AnimeProvider): )["episode"] @debug_provider - def _get_server(self, embed, anime_title: str, allanime_episode: "AllAnimeEpisode"): + def _get_server( + self, + embed, + anime_title: str, + allanime_episode: "AllAnimeEpisode", + episode_number, + ): """ Retrieves the streaming server information for a given anime episode based on the provided embed data. Args: @@ -384,7 +390,7 @@ class AllAnime(AnimeProvider): @debug_provider def get_episode_streams( - self, anime_id, episode_number: str, translation_type="sub" + self, anime_id, episode_number: str, translation_type="sub", **kwargs ): """ Retrieve streaming information for a specific episode of an anime. @@ -425,7 +431,9 @@ class AllAnime(AnimeProvider): ): logger.debug(f"Found {embed['sourceName']} but ignoring") continue - if server := self._get_server(embed, anime_title, allanime_episode): + if server := self._get_server( + embed, anime_title, allanime_episode, episode_number + ): yield server