- Created TMDB API client with async requests, caching, and retry logic - Implemented NFO XML generator for Kodi/XBMC format - Created image downloader for poster/logo/fanart with validation - Added NFO service to orchestrate metadata creation - Added NFO-related configuration settings - Updated requirements.txt with aiohttp, lxml, pillow - Created unit tests (need refinement due to implementation mismatch) Components created: - src/core/services/tmdb_client.py (270 lines) - src/core/services/nfo_service.py (390 lines) - src/core/utils/nfo_generator.py (180 lines) - src/core/utils/image_downloader.py (296 lines) - tests/unit/test_tmdb_client.py - tests/unit/test_nfo_generator.py - tests/unit/test_image_downloader.py Note: Tests need to be updated to match actual implementation APIs. Dependencies installed: aiohttp, lxml, pillow
20 lines
373 B
Plaintext
20 lines
373 B
Plaintext
fastapi==0.104.1
|
|
uvicorn[standard]==0.24.0
|
|
jinja2==3.1.2
|
|
python-multipart==0.0.6
|
|
pydantic==2.5.0
|
|
pydantic-settings==2.1.0
|
|
python-jose[cryptography]==3.3.0
|
|
passlib[bcrypt]==1.7.4
|
|
aiofiles==23.2.1
|
|
websockets==12.0
|
|
structlog==24.1.0
|
|
psutil==5.9.6
|
|
pytest==7.4.3
|
|
pytest-asyncio==0.21.1
|
|
httpx==0.25.2
|
|
sqlalchemy>=2.0.35
|
|
aiosqlite>=0.19.0
|
|
aiohttp>=3.9.0
|
|
lxml>=5.0.0
|
|
pillow>=10.0.0 |