imdb: missing imdge improvments
This commit is contained in:
@@ -1676,6 +1676,58 @@ async def fix_nfo_missing_dateadded(dependencies: dict):
|
||||
}
|
||||
|
||||
|
||||
async def get_missing_imdb_items(dependencies: dict):
|
||||
"""Get items missing IMDb IDs for manual review via core container"""
|
||||
config = dependencies["config"]
|
||||
|
||||
try:
|
||||
print("📋 Calling core container for missing IMDb items...")
|
||||
|
||||
# Call the core container's missing IMDb endpoint
|
||||
import aiohttp
|
||||
import asyncio
|
||||
|
||||
core_url = f"http://nfoguard:{config.core_api_port}/admin/missing-imdb"
|
||||
print(f"🔍 DEBUG: Calling core container at: {core_url}")
|
||||
|
||||
timeout = aiohttp.ClientTimeout(total=60.0) # 1 minute timeout
|
||||
async with aiohttp.ClientSession(timeout=timeout) as session:
|
||||
async with session.get(core_url) as response:
|
||||
if response.status == 200:
|
||||
result = await response.json()
|
||||
print(f"✅ Core container retrieved missing IMDb items: {result['summary']['total_missing']} items")
|
||||
|
||||
return {
|
||||
"success": True,
|
||||
"total_missing": result['summary']['total_missing'],
|
||||
"tv_series_missing": result['summary']['tv_series'],
|
||||
"movies_missing": result['summary']['movies'],
|
||||
"items": result['missing_items'],
|
||||
"debug_info": {
|
||||
"scan_method": "core_container_database",
|
||||
"core_container_response": "success"
|
||||
}
|
||||
}
|
||||
else:
|
||||
error_text = await response.text()
|
||||
print(f"❌ Core container missing IMDb retrieval failed: {response.status} - {error_text}")
|
||||
return {
|
||||
"success": False,
|
||||
"error": f"Core container retrieval failed: {response.status}",
|
||||
"message": f"Failed to retrieve missing IMDb items via core container: {response.status}"
|
||||
}
|
||||
|
||||
except Exception as e:
|
||||
print(f"❌ Error calling core container for missing IMDb items: {str(e)}")
|
||||
import traceback
|
||||
traceback.print_exc()
|
||||
return {
|
||||
"success": False,
|
||||
"error": f"Core container communication failed: {str(e)}",
|
||||
"message": f"Failed to retrieve missing IMDb items: {str(e)}"
|
||||
}
|
||||
|
||||
|
||||
async def bulk_update_nfo_files(dependencies: dict, imdb_ids: list = None, fix_all: bool = False):
|
||||
"""Update NFO files with missing dateadded elements from database"""
|
||||
db = dependencies["db"]
|
||||
@@ -1794,6 +1846,11 @@ def register_database_admin_routes(app, dependencies):
|
||||
"""Get episodes missing dateadded in NFO files"""
|
||||
return await get_episodes_missing_nfo_dateadded(dependencies)
|
||||
|
||||
@app.get("/api/admin/missing-imdb")
|
||||
async def api_missing_imdb_items():
|
||||
"""Get items missing IMDb IDs for manual review"""
|
||||
return await get_missing_imdb_items(dependencies)
|
||||
|
||||
@app.post("/api/admin/nfo/bulk-update")
|
||||
async def api_bulk_update_nfo_files(imdb_ids: list = None, fix_all: bool = False):
|
||||
"""Bulk update NFO files with missing dateadded via core container"""
|
||||
|
||||
Reference in New Issue
Block a user