feat: add NFO scan after rescan and year caching

- Add nfo_scan_after_rescan config option (default: true)
- Implement year caching in AniworldLoader and EnhancedAniWorldLoader
- Make get_year abstract method in base provider
- Run NFO validation/creation after scheduled rescan completes
- Add _YearDict cache to avoid re-extracting year from HTML
This commit is contained in:
2026-06-05 18:15:41 +02:00
parent 8b21f1243f
commit e74b04c1ee
10 changed files with 839 additions and 35 deletions

View File

@@ -53,6 +53,9 @@ class MockProvider(Loader):
def get_title(self, key):
return self._title
def get_year(self, key) -> int | None:
return 2024
def get_season_episode_count(self, slug):
return self._season_episodes
@@ -66,6 +69,9 @@ class ConcreteMonitoredWrapper(MonitoredProviderWrapper):
def unsubscribe_download_progress(self, handler):
pass
def get_year(self, key: str) -> int | None:
return None
@pytest.fixture
def mock_provider():