Refactor trigger_rescan to use anime_service
- Use anime_service.rescan() instead of direct trigger_rescan import - Change Optional[Any] to Optional[Dict[str, Any]] in ConfigUpdate for better type hints - Add ValidationError handling in ConfigUpdate.apply_to - Update tests to match new implementation Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
This commit is contained in:
@@ -246,12 +246,12 @@ class AppConfig(BaseModel):
|
||||
class ConfigUpdate(BaseModel):
|
||||
name: Optional[str] = None
|
||||
data_dir: Optional[str] = None
|
||||
scheduler: Optional[Any] = None
|
||||
logging: Optional[Any] = None
|
||||
backup: Optional[Any] = None
|
||||
nfo: Optional[Any] = None
|
||||
scheduler: Optional[Dict[str, Any]] = None
|
||||
logging: Optional[Dict[str, Any]] = None
|
||||
backup: Optional[Dict[str, Any]] = None
|
||||
nfo: Optional[Dict[str, Any]] = None
|
||||
scan_key_overrides: Optional[Dict[str, str]] = None
|
||||
other: Optional[Any] = None
|
||||
other: Optional[Dict[str, Any]] = None
|
||||
|
||||
def apply_to(self, current: AppConfig) -> AppConfig:
|
||||
"""Return a new AppConfig with updates applied to the current config.
|
||||
@@ -271,7 +271,10 @@ class ConfigUpdate(BaseModel):
|
||||
except json.JSONDecodeError:
|
||||
scheduler_data = ast.literal_eval(scheduler_data)
|
||||
if isinstance(scheduler_data, dict):
|
||||
scheduler_data = SchedulerConfig(**scheduler_data)
|
||||
try:
|
||||
scheduler_data = SchedulerConfig(**scheduler_data)
|
||||
except ValidationError:
|
||||
raise
|
||||
data["scheduler"] = scheduler_data.model_dump()
|
||||
if self.logging is not None:
|
||||
logging_data = self.logging
|
||||
|
||||
Reference in New Issue
Block a user