43 lines
1.3 KiB
Python
43 lines
1.3 KiB
Python
import sys
|
|
import os
|
|
import logging
|
|
|
|
from src.core.SerieScanner import SerieScanner
|
|
from src.core.entities.SerieList import SerieList
|
|
from src.core.providers.provider_factory import Loaders
|
|
|
|
|
|
class SeriesApp:
|
|
|
|
def __init__(self, directory_to_search: str):
|
|
|
|
# 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__()
|