Compare commits
2 Commits
083eefe697
...
1719a36f57
| Author | SHA1 | Date | |
|---|---|---|---|
| 1719a36f57 | |||
| 253b509707 |
@ -1,5 +1,24 @@
|
|||||||
import os
|
|
||||||
|
# --- Global UTF-8 logging setup (fix UnicodeEncodeError) ---
|
||||||
import sys
|
import sys
|
||||||
|
import io
|
||||||
|
import logging
|
||||||
|
try:
|
||||||
|
if hasattr(sys.stdout, 'reconfigure'):
|
||||||
|
sys.stdout.reconfigure(encoding='utf-8', errors='replace')
|
||||||
|
handler = logging.StreamHandler(sys.stdout)
|
||||||
|
else:
|
||||||
|
utf8_stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8', errors='replace')
|
||||||
|
handler = logging.StreamHandler(utf8_stdout)
|
||||||
|
handler.setFormatter(logging.Formatter('[%(asctime)s] %(levelname)s: %(message)s', datefmt='%H:%M:%S'))
|
||||||
|
root_logger = logging.getLogger()
|
||||||
|
root_logger.handlers = []
|
||||||
|
root_logger.addHandler(handler)
|
||||||
|
root_logger.setLevel(logging.INFO)
|
||||||
|
except Exception:
|
||||||
|
logging.basicConfig(stream=sys.stdout, format='[%(asctime)s] %(levelname)s: %(message)s', datefmt='%H:%M:%S')
|
||||||
|
|
||||||
|
import os
|
||||||
import threading
|
import threading
|
||||||
from datetime import datetime
|
from datetime import datetime
|
||||||
|
|
||||||
@ -15,6 +34,26 @@ import logging
|
|||||||
import atexit
|
import atexit
|
||||||
|
|
||||||
from Main import SeriesApp
|
from Main import SeriesApp
|
||||||
|
|
||||||
|
# --- Fix Unicode logging error for Windows console ---
|
||||||
|
import sys
|
||||||
|
import io
|
||||||
|
# --- Robust Unicode logging for Windows console ---
|
||||||
|
try:
|
||||||
|
if hasattr(sys.stdout, 'reconfigure'):
|
||||||
|
handler = logging.StreamHandler(sys.stdout)
|
||||||
|
handler.setFormatter(logging.Formatter('%(levelname)s: %(message)s'))
|
||||||
|
handler.stream.reconfigure(encoding='utf-8')
|
||||||
|
logging.getLogger().handlers = [handler]
|
||||||
|
else:
|
||||||
|
# Fallback for older Python versions
|
||||||
|
utf8_stdout = io.TextIOWrapper(sys.stdout.buffer, encoding='utf-8', errors='replace')
|
||||||
|
handler = logging.StreamHandler(utf8_stdout)
|
||||||
|
handler.setFormatter(logging.Formatter('%(levelname)s: %(message)s'))
|
||||||
|
logging.getLogger().handlers = [handler]
|
||||||
|
except Exception:
|
||||||
|
# Last resort fallback
|
||||||
|
logging.basicConfig(stream=sys.stdout, format='%(levelname)s: %(message)s')
|
||||||
from server.core.entities.series import Serie
|
from server.core.entities.series import Serie
|
||||||
from server.core.entities import SerieList
|
from server.core.entities import SerieList
|
||||||
from server.infrastructure.file_system import SerieScanner
|
from server.infrastructure.file_system import SerieScanner
|
||||||
|
|||||||
@ -29,7 +29,7 @@ class SerieList:
|
|||||||
for anime_folder in os.listdir(self.directory):
|
for anime_folder in os.listdir(self.directory):
|
||||||
anime_path = os.path.join(self.directory, anime_folder, "data")
|
anime_path = os.path.join(self.directory, anime_folder, "data")
|
||||||
if os.path.isfile(anime_path):
|
if os.path.isfile(anime_path):
|
||||||
logging.info(f"Found data folder: {anime_path}")
|
logging.debug(f"Found data folder: {anime_path}")
|
||||||
self.load_data(anime_folder, anime_path)
|
self.load_data(anime_folder, anime_path)
|
||||||
else:
|
else:
|
||||||
logging.warning(f"Skipping {anime_folder} - No data folder found")
|
logging.warning(f"Skipping {anime_folder} - No data folder found")
|
||||||
@ -38,7 +38,7 @@ class SerieList:
|
|||||||
""" Load pickle files from the data folder """
|
""" Load pickle files from the data folder """
|
||||||
try:
|
try:
|
||||||
self.folderDict[anime_folder] = Serie.load_from_file(data_path)
|
self.folderDict[anime_folder] = Serie.load_from_file(data_path)
|
||||||
logging.info(f"Successfully loaded {data_path} for {anime_folder}")
|
logging.debug(f"Successfully loaded {data_path} for {anime_folder}")
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
logging.error(f"Failed to load {data_path} in {anime_folder}: {e}")
|
logging.error(f"Failed to load {data_path} in {anime_folder}: {e}")
|
||||||
|
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
Loading…
x
Reference in New Issue
Block a user