from src.core.entities.SerieList import SerieList from src.core.providers.provider_factory import Loaders from src.core.SerieScanner import SerieScanner class SeriesApp: _initialization_count = 0 def __init__(self, directory_to_search: str): SeriesApp._initialization_count += 1 # Only show initialization message for the first instance if SeriesApp._initialization_count <= 1: print("Please wait while initializing...") self.progress = None self.directory_to_search = directory_to_search self.Loaders = Loaders() self.loader = self.Loaders.GetLoader(key="aniworld.to") self.SerieScanner = SerieScanner(directory_to_search, self.loader) self.List = SerieList(self.directory_to_search) self.__InitList__() def __InitList__(self): self.series_list = self.List.GetMissingEpisode() def search(self, words: str) -> list: return self.loader.Search(words) def download(self, serieFolder: str, season: int, episode: int, key: str, callback) -> bool: self.loader.Download(self.directory_to_search, serieFolder, season, episode, key, "German Dub", callback) def ReScan(self, callback): self.SerieScanner.Reinit() self.SerieScanner.Scan(callback) self.List = SerieList(self.directory_to_search) self.__InitList__()