feat: sync series from data files after setup/directory update
- Call sync_series_from_data_files after initial setup completes - Call sync_series_from_data_files when anime directory is updated - Return synced_series count in directory update response
This commit is contained in:
parent
5f6ac8e507
commit
38e0ba0484
@ -66,6 +66,29 @@ async def setup_auth(req: SetupRequest):
|
|||||||
# Save the config with the password hash and anime directory
|
# Save the config with the password hash and anime directory
|
||||||
config_service.save_config(config, create_backup=False)
|
config_service.save_config(config, create_backup=False)
|
||||||
|
|
||||||
|
# Sync series from data files to database if anime directory is set
|
||||||
|
if anime_directory:
|
||||||
|
try:
|
||||||
|
from src.server.services.anime_service import (
|
||||||
|
sync_series_from_data_files,
|
||||||
|
)
|
||||||
|
import structlog
|
||||||
|
logger = structlog.get_logger(__name__)
|
||||||
|
sync_count = await sync_series_from_data_files(
|
||||||
|
anime_directory, logger
|
||||||
|
)
|
||||||
|
logger.info(
|
||||||
|
"Setup complete: synced series from data files",
|
||||||
|
count=sync_count
|
||||||
|
)
|
||||||
|
except Exception as e:
|
||||||
|
# Log but don't fail setup if sync fails
|
||||||
|
import structlog
|
||||||
|
structlog.get_logger(__name__).warning(
|
||||||
|
"Failed to sync series after setup",
|
||||||
|
error=str(e)
|
||||||
|
)
|
||||||
|
|
||||||
return {"status": "ok"}
|
return {"status": "ok"}
|
||||||
|
|
||||||
except ValueError as e:
|
except ValueError as e:
|
||||||
|
|||||||
@ -239,8 +239,31 @@ async def update_directory(
|
|||||||
|
|
||||||
config_service.save_config(app_config)
|
config_service.save_config(app_config)
|
||||||
|
|
||||||
|
# Sync series from data files to database
|
||||||
|
sync_count = 0
|
||||||
|
try:
|
||||||
|
from src.server.services.anime_service import (
|
||||||
|
sync_series_from_data_files,
|
||||||
|
)
|
||||||
|
import structlog
|
||||||
|
logger = structlog.get_logger(__name__)
|
||||||
|
sync_count = await sync_series_from_data_files(directory, logger)
|
||||||
|
logger.info(
|
||||||
|
"Directory updated: synced series from data files",
|
||||||
|
directory=directory,
|
||||||
|
count=sync_count
|
||||||
|
)
|
||||||
|
except Exception as e:
|
||||||
|
# Log but don't fail the directory update if sync fails
|
||||||
|
import structlog
|
||||||
|
structlog.get_logger(__name__).warning(
|
||||||
|
"Failed to sync series after directory update",
|
||||||
|
error=str(e)
|
||||||
|
)
|
||||||
|
|
||||||
response: Dict[str, Any] = {
|
response: Dict[str, Any] = {
|
||||||
"message": "Anime directory updated successfully"
|
"message": "Anime directory updated successfully",
|
||||||
|
"synced_series": sync_count
|
||||||
}
|
}
|
||||||
|
|
||||||
return response
|
return response
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user