fix: validate generated keys before creating Serie objects
- Add is_valid_key check in SerieScanner._read_data_from_file() to prevent passing invalid keys to Serie constructor (caused ValueError) - Improve error message for key generation failures - Add warning log before removing duplicate source folders in rename service
This commit is contained in:
@@ -24,7 +24,7 @@ from src.config.settings import settings
|
||||
from src.core.entities.series import Serie
|
||||
from src.core.exceptions.Exceptions import MatchNotFoundError, NoKeyFoundException
|
||||
from src.core.providers.base_provider import Loader
|
||||
from src.core.utils.key_utils import generate_key_from_folder
|
||||
from src.core.utils.key_utils import generate_key_from_folder, is_valid_key
|
||||
from src.server.database.connection import get_sync_session
|
||||
from src.server.database.service import AnimeSeriesService, EpisodeService
|
||||
|
||||
@@ -726,6 +726,16 @@ class SerieScanner:
|
||||
try:
|
||||
generated_key = generate_key_from_folder(folder_name)
|
||||
year_from_folder = self._extract_year_from_folder_name(folder_name)
|
||||
|
||||
# Validate that the generated key is usable
|
||||
if not generated_key or not is_valid_key(generated_key):
|
||||
logger.warning(
|
||||
"Serie key is invalid for folder '%s' (key='%s') - skipping",
|
||||
folder_name,
|
||||
generated_key
|
||||
)
|
||||
return None
|
||||
|
||||
logger.info(
|
||||
"Generated key for folder '%s' -> key='%s'",
|
||||
folder_name,
|
||||
@@ -741,7 +751,7 @@ class SerieScanner:
|
||||
)
|
||||
except Exception as exc:
|
||||
logger.warning(
|
||||
"Failed to generate key for folder '%s': %s",
|
||||
"Unexpected error generating key for folder '%s': %s",
|
||||
folder_name,
|
||||
exc
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user