mirror of
https://github.com/Benexl/FastAnime.git
synced 2026-02-04 19:11:55 -08:00
fix: issues with anime pahe provider
This commit is contained in:
@@ -364,8 +364,20 @@ def provider_anime_episode_servers_menu(
|
||||
# no need to get all servers if top just works
|
||||
with Progress() as progress:
|
||||
progress.add_task("Fetching top server...", total=None)
|
||||
selected_server = next(episode_streams_generator)
|
||||
server_name = "top"
|
||||
try:
|
||||
selected_server = next(episode_streams_generator)
|
||||
server_name = "top"
|
||||
except Exception as e:
|
||||
print("Failed to get streams. Reason:",e)
|
||||
if not config.use_rofi:
|
||||
input("Enter to coninue...")
|
||||
else:
|
||||
if not Rofi.confirm(f"!!Sth went wrong!!: {e} Enter to continue"):
|
||||
exit_app(1)
|
||||
server_name=None
|
||||
selected_server=""
|
||||
media_actions_menu(config,fastanime_runtime_state)
|
||||
return
|
||||
else:
|
||||
with Progress() as progress:
|
||||
progress.add_task("Fetching servers...", total=None)
|
||||
@@ -400,9 +412,21 @@ def provider_anime_episode_servers_menu(
|
||||
|
||||
provider_anime_episodes_menu(config, fastanime_runtime_state)
|
||||
return
|
||||
elif server_name == "top":
|
||||
elif server_name == "top" and episode_streams_dict.keys():
|
||||
selected_server = episode_streams_dict[list(episode_streams_dict.keys())[0]]
|
||||
else:
|
||||
if server_name=="top" or server_name=="back":
|
||||
if config.use_rofi:
|
||||
if not Rofi.confirm("No severs available..."):
|
||||
exit_app()
|
||||
else:
|
||||
media_actions_menu(config,fastanime_runtime_state)
|
||||
return
|
||||
else:
|
||||
print("Failed to set server")
|
||||
input("Enter to continue")
|
||||
media_actions_menu(config,fastanime_runtime_state)
|
||||
return
|
||||
selected_server = episode_streams_dict[server_name]
|
||||
|
||||
# get the stream of the preferred quality
|
||||
|
||||
@@ -138,9 +138,6 @@ class AllAnimeAPI(AnimeProvider):
|
||||
variables = {"showId": allanime_show_id}
|
||||
try:
|
||||
anime = self._fetch_gql(ALLANIME_SHOW_GQL, variables)
|
||||
|
||||
print(anime)
|
||||
input()
|
||||
id: str = anime["show"]["_id"]
|
||||
title: str = anime["show"]["name"]
|
||||
availableEpisodesDetail = anime["show"]["availableEpisodesDetail"]
|
||||
|
||||
@@ -121,9 +121,10 @@ class AnimePaheApi(AnimeProvider):
|
||||
for episode in self.anime["data"]
|
||||
if float(episode["episode"]) == float(episode_number)
|
||||
]
|
||||
|
||||
if not episode:
|
||||
logger.error(f"AnimePahe(streams): episode {episode_number} doesn't exist")
|
||||
raise Exception("Episode not found")
|
||||
return []
|
||||
episode = episode[0]
|
||||
|
||||
anime_id = anime["id"]
|
||||
@@ -157,7 +158,7 @@ class AnimePaheApi(AnimeProvider):
|
||||
logger.warn(
|
||||
"AnimePahe: embed url not found please report to the developers"
|
||||
)
|
||||
raise Exception("Episode not found")
|
||||
return []
|
||||
# get embed page
|
||||
embed_response = self.session.get(embed_url, headers=SERVER_HEADERS)
|
||||
embed = embed_response.text
|
||||
@@ -174,14 +175,14 @@ class AnimePaheApi(AnimeProvider):
|
||||
logger.warn(
|
||||
"AnimePahe: Encoded js not found please report to the developers"
|
||||
)
|
||||
raise Exception("Episode not found")
|
||||
return []
|
||||
# execute the encoded js with node for now or maybe forever in odrder to get a more workable info
|
||||
NODE = shutil.which("node")
|
||||
if not NODE:
|
||||
logger.warn(
|
||||
"AnimePahe: animepahe currently requires node js to extract them juicy streams"
|
||||
)
|
||||
raise Exception("Episode not found")
|
||||
return []
|
||||
result = subprocess.run(
|
||||
[NODE, "-e", encoded_js],
|
||||
text=True,
|
||||
@@ -193,14 +194,14 @@ class AnimePaheApi(AnimeProvider):
|
||||
logger.warn(
|
||||
"AnimePahe: could not decode encoded js using node please report to developers"
|
||||
)
|
||||
raise Exception("Episode not found")
|
||||
return []
|
||||
# get that juicy stream
|
||||
match = JUICY_STREAM_REGEX.search(evaluted_js)
|
||||
if not match:
|
||||
logger.warn(
|
||||
"AnimePahe: could not find the juicy stream please report to developers"
|
||||
)
|
||||
raise Exception("Episode not found")
|
||||
return []
|
||||
# get the actual hls stream link
|
||||
juicy_stream = match.group(1)
|
||||
# add the link
|
||||
|
||||
Reference in New Issue
Block a user