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