chore: better logging
This commit is contained in:
parent
32cffc3079
commit
c250e679f8
28
main.py
28
main.py
@ -10,8 +10,18 @@ from aniworld.common import get_season_episode_count, get_movie_episode_count
|
|||||||
from aniworld.search import search_anime
|
from aniworld.search import search_anime
|
||||||
from Loader import download
|
from Loader import download
|
||||||
|
|
||||||
|
|
||||||
# Configure logging
|
# Configure logging
|
||||||
logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s')
|
logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(funcName)s - %(message)s')
|
||||||
|
console_handler = logging.StreamHandler()
|
||||||
|
console_handler.setLevel(logging.INFO)
|
||||||
|
console_handler.setFormatter(logging.Formatter(
|
||||||
|
"%(asctime)s - %(levelname)s - %(funcName)s - %(message)s")
|
||||||
|
)
|
||||||
|
logging.getLogger().addHandler(console_handler)
|
||||||
|
logging.getLogger("urllib3.connectionpool").setLevel(logging.INFO)
|
||||||
|
logging.getLogger('charset_normalizer').setLevel(logging.INFO)
|
||||||
|
logging.getLogger().setLevel(logging.INFO)
|
||||||
|
|
||||||
error_logger = logging.getLogger("ErrorLog")
|
error_logger = logging.getLogger("ErrorLog")
|
||||||
error_handler = logging.FileHandler("errors.log")
|
error_handler = logging.FileHandler("errors.log")
|
||||||
@ -23,6 +33,11 @@ noKeyFound_handler = logging.FileHandler("NoKeyFound.log")
|
|||||||
noKeyFound_handler.setLevel(logging.ERROR)
|
noKeyFound_handler.setLevel(logging.ERROR)
|
||||||
noKeyFound_logger.addHandler(noKeyFound_handler)
|
noKeyFound_logger.addHandler(noKeyFound_handler)
|
||||||
|
|
||||||
|
noGerFound_logger = logging.getLogger("noGerFound")
|
||||||
|
noGerFound_handler = logging.FileHandler("noGerFound.log")
|
||||||
|
noGerFound_handler.setLevel(logging.ERROR)
|
||||||
|
noGerFound_logger.addHandler(noGerFound_handler)
|
||||||
|
|
||||||
class NoKeyFoundException(Exception):
|
class NoKeyFoundException(Exception):
|
||||||
"""Exception raised when an anime key cannot be found."""
|
"""Exception raised when an anime key cannot be found."""
|
||||||
pass
|
pass
|
||||||
@ -132,7 +147,7 @@ class Loader:
|
|||||||
yield season, missing_episodes
|
yield season, missing_episodes
|
||||||
|
|
||||||
def LoadMissing(self):
|
def LoadMissing(self):
|
||||||
logging.warning("Starting process to load missing episodes")
|
logging.info("Starting process to load missing episodes")
|
||||||
result = self.__find_mp4_files()
|
result = self.__find_mp4_files()
|
||||||
|
|
||||||
def download_episode(folder, season, episode, key):
|
def download_episode(folder, season, episode, key):
|
||||||
@ -144,19 +159,22 @@ class Loader:
|
|||||||
language="German Dub",
|
language="German Dub",
|
||||||
output_directory=folder_path
|
output_directory=folder_path
|
||||||
)
|
)
|
||||||
logging.warning(f"Downloading episode {episode} of season {season} for anime {key}")
|
logging.info(f"Downloading anime {key} season {season} episode {episode}")
|
||||||
download(anime)
|
download(anime)
|
||||||
|
logging.info(f"Downloading completed anime {key} season {season} episode {episode}")
|
||||||
|
except KeyError as keye:
|
||||||
|
noGerFound_logger.error(f"Language not found for anime: {key} season: {season} episode: {episode}")
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
logging.error(f"Error downloading episode {episode} of season {season} for anime {key}: {e}")
|
logging.error(f"Error downloading episode {episode} of season {season} for anime {key}: {e}")
|
||||||
|
|
||||||
# Using ThreadPoolExecutor to run downloads in parallel
|
# Using ThreadPoolExecutor to run downloads in parallel
|
||||||
with ThreadPoolExecutor(max_workers=5) as executor: # Adjust number of workers as needed
|
with ThreadPoolExecutor(max_workers=1) as executor: # Adjust number of workers as needed
|
||||||
for folder, mp4_files in result:
|
for folder, mp4_files in result:
|
||||||
try:
|
try:
|
||||||
key = self.__check_and_generate_key(folder)
|
key = self.__check_and_generate_key(folder)
|
||||||
missings = self.__GetMissingEpisodesAndSeason(key, mp4_files)
|
missings = self.__GetMissingEpisodesAndSeason(key, mp4_files)
|
||||||
logging.info("Missing episodes for {key} \n" + "\n".join(f"Season {str(k)}: {', '.join(str(v))}" for k, v in missings))
|
|
||||||
for season, missing_episodes in missings:
|
for season, missing_episodes in missings:
|
||||||
|
logging.info(f"Missing episodes for {key}\nSeason {str(season)}: Episodes: " + ",".join(f"{''.join(str(v))}" for v in missing_episodes))
|
||||||
for episode in missing_episodes:
|
for episode in missing_episodes:
|
||||||
executor.submit(download_episode, folder, season, episode, key)
|
executor.submit(download_episode, folder, season, episode, key)
|
||||||
except NoKeyFoundException as nkfe:
|
except NoKeyFoundException as nkfe:
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user