added better progressbar

This commit is contained in:
Lukas Pupka-Lipinski 2025-09-27 20:21:05 +02:00
parent 19bd44b3dc
commit 60ac14e151
3 changed files with 23 additions and 17 deletions

10
.gitignore vendored
View File

@ -3,3 +3,13 @@
/aniworld/lib/* /aniworld/lib/*
/src/__pycache__/* /src/__pycache__/*
/src/__pycache__/ /src/__pycache__/
/.vs/*
/src/Temp/*
/src/Loaders/__pycache__/*
/src/Loaders/provider/__pycache__/*
/src/Loaders/__pycache__/*
/src/Loaders/__pycache__/AniWorldLoader.cpython-310.pyc
/src/Loaders/__pycache__/Loader.cpython-310.pyc
/src/Loaders/__pycache__/Loaders.cpython-310.pyc
/src/Loaders/__pycache__/Providers.cpython-310.pyc
/src/Loaders/provider/__pycache__/voe.cpython-310.pyc

Binary file not shown.

View File

@ -97,11 +97,8 @@ class SeriesApp:
func(*args, **kwargs) func(*args, **kwargs)
return True return True
except Exception as e: except Exception as e:
print(f"Attempt {attempt} failed: {e}")
if attempt == max_retries: print(e)
print("All attempts failed.")
else:
print(f"Retrying in {delay} seconds...\n")
time.sleep(delay) time.sleep(delay)
return False return False
@ -117,13 +114,13 @@ class SeriesApp:
for serie in series: for serie in series:
serie_episodes = sum(len(ep) for ep in serie.episodeDict.values()) serie_episodes = sum(len(ep) for ep in serie.episodeDict.values())
self.progress.update(task2, description=f"[green]{serie.name}", total=serie_episodes) self.progress.update(task2, description=f"[green]{serie.folder}", total=serie_episodes)
downloaded = 0 downloaded = 0
for season, episodes in serie.episodeDict.items(): for season, episodes in serie.episodeDict.items():
for episode in episodes: for episode in episodes:
loader = self.Loaders.GetLoader(key="aniworld.to") loader = self.Loaders.GetLoader(key="aniworld.to")
if loader.IsLanguage(season, episode, serie.key): if loader.IsLanguage(season, episode, serie.key):
self.retry(loader.Download, 3, 1, self.directory_to_search, serie.folder, season, episode, serie.key, self.print_Download_Progress) self.retry(loader.Download, 3, 1, self.directory_to_search, serie.folder, season, episode, serie.key, "German Dub",self.print_Download_Progress)
downloaded += 1 downloaded += 1
total_downloaded += 1 total_downloaded += 1
@ -182,8 +179,7 @@ class SeriesApp:
print("Invalid input. Try again.") print("Invalid input. Try again.")
def updateFromReinit(self, folder, counter): def updateFromReinit(self, folder, counter):
if self.bar != None: self.progress.update(self.task1, advance=1)
self.bar.update(counter)
def run(self): def run(self):
"""Main function to run the app.""" """Main function to run the app."""
@ -196,19 +192,19 @@ class SeriesApp:
print("\nRescanning series...\n") print("\nRescanning series...\n")
self.bar = progressbar.ProgressBar( self.progress = Progress()
max_value=progressbar.UnknownLength, self.task1 = self.progress.add_task("[red]items processed...", total=300)
widgets=[ self.progress.start()
progressbar.Counter(), ' items processed ',
progressbar.AnimatedMarker()
]
)
self.SerieScanner.Reinit() self.SerieScanner.Reinit()
self.SerieScanner.Scan(self.updateFromReinit) self.SerieScanner.Scan(self.updateFromReinit)
self.List = SerieList.SerieList(self.directory_to_search) self.List = SerieList.SerieList(self.directory_to_search)
self.__InitList__() self.__InitList__()
self.progress.stop()
self.progress = None
elif action == "d": elif action == "d":
selected_series = self.get_user_selection() selected_series = self.get_user_selection()
if selected_series: if selected_series: