Merge branch 'master' into master

This commit is contained in:
Benexl
2024-12-03 12:39:56 +03:00
committed by GitHub
5 changed files with 28 additions and 25 deletions

View File

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

View File

@@ -1372,12 +1372,9 @@ def media_actions_menu(
media_actions_menu(config, fastanime_runtime_state)
return
relations = relations[1]["data"]["Page"]["relations"] # pyright:ignore
fastanime_runtime_state.anilist_results_data = {
"data": {
"Page": {
"media": relations[1]["data"]["Media"]["relations"]["nodes"]
} # pyright:ignore
}
"data": {"Page": {"media": relations["nodes"]}} # pyright:ignore
}
anilist_results_menu(config, fastanime_runtime_state)

View File

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

View File

@@ -32,7 +32,7 @@ class AnimePahe(AnimeProvider):
HEADERS = REQUEST_HEADERS
@debug_provider
def search_for_anime(self, search_keywords: str, *args, **kwargs):
def search_for_anime(self, search_keywords: str, translation_type, **kwargs):
response = self.session.get(
ANIMEPAHE_ENDPOINT, params={"m": "search", "q": search_keywords}
)
@@ -111,7 +111,7 @@ class AnimePahe(AnimeProvider):
return data
@debug_provider
def get_anime(self, session_id: str, *args):
def get_anime(self, session_id: str, **kwargs):
page = 1
if d := self.store.get(str(session_id), "search_result"):
anime_result: "AnimePaheSearchResult" = d
@@ -211,7 +211,7 @@ class AnimePahe(AnimeProvider):
@debug_provider
def get_episode_streams(
self, anime_id, episode_number: str, translation_type, *args
self, anime_id, episode_number: str, translation_type, **kwargs
):
anime_title = ""
# extract episode details from memory

View File

@@ -43,7 +43,7 @@ class HiAnime(AnimeProvider):
# HEADERS = {"Referer": "https://hianime.to/home"}
@debug_provider
def search_for_anime(self, anime_title: str, *args):
def search_for_anime(self, anime_title: str, translation_type, **kwargs):
query = quote_plus(anime_title)
url = f"https://hianime.to/search?keyword={query}"
response = self.session.get(url)
@@ -91,7 +91,7 @@ class HiAnime(AnimeProvider):
return {"pageInfo": {}, "results": results}
@debug_provider
def get_anime(self, hianime_id, *args):
def get_anime(self, hianime_id, **kwargs):
anime_result = {}
if d := self.store.get(str(hianime_id), "search_result"):
anime_result = d
@@ -144,7 +144,7 @@ class HiAnime(AnimeProvider):
}
@debug_provider
def get_episode_streams(self, anime_id, episode, translation_type, *args):
def get_episode_streams(self, anime_id, episode, translation_type, **kwargs):
if d := self.store.get(str(anime_id), "anime_info"):
episodes_info = d
episode_details = [