fixed some unicode issues

This commit is contained in:
Lukas Pupka-Lipinski 2025-09-29 15:59:48 +02:00
parent 083eefe697
commit 253b509707
3 changed files with 1435 additions and 3 deletions

View File

@ -1,5 +1,24 @@
import os
# --- Global UTF-8 logging setup (fix UnicodeEncodeError) ---
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
from datetime import datetime
@ -15,6 +34,26 @@ import logging
import atexit
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 import SerieList
from server.infrastructure.file_system import SerieScanner

View File

@ -29,7 +29,7 @@ class SerieList:
for anime_folder in os.listdir(self.directory):
anime_path = os.path.join(self.directory, anime_folder, "data")
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)
else:
logging.warning(f"Skipping {anime_folder} - No data folder found")
@ -38,7 +38,7 @@ class SerieList:
""" Load pickle files from the data folder """
try:
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:
logging.error(f"Failed to load {data_path} in {anime_folder}: {e}")

File diff suppressed because it is too large Load Diff