feat: improve error handling when fetching servers

This commit is contained in:
Benex254
2024-08-14 18:58:32 +03:00
parent 8afe1df3a9
commit 7cd246478e
4 changed files with 30 additions and 4 deletions

View File

@@ -112,7 +112,10 @@ def download(config: "Config", anime_title, episode_range, highest_priority):
if config.server == "top":
with Progress() as progress:
progress.add_task("Fetching top server...", total=None)
server = next(streams)
server = next(streams, None)
if not server:
print("Sth went wrong when fetching the server")
continue
stream_link = filter_by_quality(config.quality, server["links"])
if not stream_link:
print("Quality not found")

View File

@@ -130,7 +130,12 @@ def search(config: Config, anime_title: str, episode_range: str):
if config.server == "top":
with Progress() as progress:
progress.add_task("Fetching top server...", total=None)
server = next(streams)
server = next(streams, None)
if not server:
print("Sth went wrong when fetching the episode")
input("Enter to continue")
stream_anime()
return
stream_link = filter_by_quality(config.quality, server["links"])
if not stream_link:
print("Quality not found")

View File

@@ -366,7 +366,22 @@ def provider_anime_episode_servers_menu(
with Progress() as progress:
progress.add_task("Fetching top server...", total=None)
try:
selected_server = next(episode_streams_generator)
selected_server = next(episode_streams_generator, None)
if not selected_server:
if config.use_rofi:
if Rofi.confirm("Sth went wrong enter to continue"):
provider_anime_episode_servers_menu(
config, fastanime_runtime_state
)
else:
exit_app(1)
else:
print("Sth went wrong")
input("Enter to continue...")
provider_anime_episode_servers_menu(
config, fastanime_runtime_state
)
return
server_name = "top"
except Exception as e:
print("Failed to get streams. Reason:", e)

View File

@@ -117,7 +117,10 @@ class MpvPlayer(object):
# always select the first
if server == "top":
selected_server = next(episode_streams)
selected_server = next(episode_streams, None)
if not selected_server:
self.mpv_player.show_text("Sth went wrong when loading the episode")
return
else:
episode_streams_dict = {
episode_stream["server"]: episode_stream