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:
@@ -45,6 +45,9 @@ class ConcreteEnhancedLoader(EnhancedAniWorldLoader):
|
||||
def get_title(self, key: str) -> str:
|
||||
return self.GetTitle(key)
|
||||
|
||||
def get_year(self, key: str) -> int | None:
|
||||
return self.GetYear(key)
|
||||
|
||||
|
||||
@pytest.fixture
|
||||
def enhanced_loader():
|
||||
@@ -969,6 +972,7 @@ class TestHlsUrlDetection:
|
||||
def test_voe_hls_pattern_extracts_hls_url(self):
|
||||
"""HLS_PATTERN should extract HLS URL from VOE embedded player HTML."""
|
||||
import re
|
||||
|
||||
from src.server.providers.streaming.voe import HLS_PATTERN
|
||||
|
||||
html_with_hls = """
|
||||
@@ -984,6 +988,7 @@ class TestHlsUrlDetection:
|
||||
def test_voe_hls_pattern_returns_none_when_no_hls(self):
|
||||
"""HLS_PATTERN should return None when no HLS URL in HTML."""
|
||||
import re
|
||||
|
||||
from src.server.providers.streaming.voe import HLS_PATTERN
|
||||
|
||||
html_no_hls = """
|
||||
@@ -997,6 +1002,7 @@ class TestHlsUrlDetection:
|
||||
def test_hls_url_detection_in_provider_flow(self, enhanced_loader, tmp_path):
|
||||
"""Provider should detect and handle HLS URLs from VOE extractor."""
|
||||
import re
|
||||
|
||||
from src.server.providers.streaming.voe import HLS_PATTERN
|
||||
|
||||
# Simulate VOE returning an HLS URL (base64 encoded .m3u8)
|
||||
|
||||
Reference in New Issue
Block a user