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
|
||||
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"}
|
||||
|
||||
except ValueError as e:
|
||||
|
||||
@ -239,8 +239,31 @@ async def update_directory(
|
||||
|
||||
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] = {
|
||||
"message": "Anime directory updated successfully"
|
||||
"message": "Anime directory updated successfully",
|
||||
"synced_series": sync_count
|
||||
}
|
||||
|
||||
return response
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user