This commit is contained in:
+12
-11
@@ -2283,14 +2283,14 @@ def register_routes(app, dependencies: dict):
|
|||||||
|
|
||||||
async def nfo_repair_scan(dependencies: dict):
|
async def nfo_repair_scan(dependencies: dict):
|
||||||
"""Scan filesystem for episodes/movies missing dateadded elements in NFO files"""
|
"""Scan filesystem for episodes/movies missing dateadded elements in NFO files"""
|
||||||
from nfoguard.utils.db_utils import get_db_connection
|
|
||||||
import os
|
import os
|
||||||
import xml.etree.ElementTree as ET
|
import xml.etree.ElementTree as ET
|
||||||
|
|
||||||
logger = dependencies.get("logger")
|
logger = dependencies.get("logger")
|
||||||
config = dependencies.get("config")
|
config = dependencies.get("config")
|
||||||
|
db = dependencies.get("db")
|
||||||
|
|
||||||
if not logger or not config:
|
if not logger or not config or not db:
|
||||||
raise HTTPException(status_code=500, detail="Dependencies not available")
|
raise HTTPException(status_code=500, detail="Dependencies not available")
|
||||||
|
|
||||||
logger.info("🔧 Starting NFO repair scan from core container")
|
logger.info("🔧 Starting NFO repair scan from core container")
|
||||||
@@ -2301,11 +2301,6 @@ async def nfo_repair_scan(dependencies: dict):
|
|||||||
}
|
}
|
||||||
|
|
||||||
try:
|
try:
|
||||||
# Get database connection
|
|
||||||
db_conn = get_db_connection(config)
|
|
||||||
if not db_conn:
|
|
||||||
raise HTTPException(status_code=500, detail="Database connection failed")
|
|
||||||
|
|
||||||
# Scan episodes
|
# Scan episodes
|
||||||
logger.info("📺 Scanning episodes for missing dateadded elements")
|
logger.info("📺 Scanning episodes for missing dateadded elements")
|
||||||
episode_query = """
|
episode_query = """
|
||||||
@@ -2315,7 +2310,11 @@ async def nfo_repair_scan(dependencies: dict):
|
|||||||
ORDER BY imdb_id, season, episode
|
ORDER BY imdb_id, season, episode
|
||||||
"""
|
"""
|
||||||
|
|
||||||
episodes = db_conn.fetch_all(episode_query)
|
with db.get_connection() as conn:
|
||||||
|
cursor = conn.cursor()
|
||||||
|
cursor.execute(episode_query)
|
||||||
|
episodes = [dict(row) for row in cursor.fetchall()]
|
||||||
|
|
||||||
logger.info(f"📊 Found {len(episodes)} episodes in database")
|
logger.info(f"📊 Found {len(episodes)} episodes in database")
|
||||||
|
|
||||||
for episode in episodes:
|
for episode in episodes:
|
||||||
@@ -2366,7 +2365,11 @@ async def nfo_repair_scan(dependencies: dict):
|
|||||||
ORDER BY title
|
ORDER BY title
|
||||||
"""
|
"""
|
||||||
|
|
||||||
movies = db_conn.fetch_all(movie_query)
|
with db.get_connection() as conn:
|
||||||
|
cursor = conn.cursor()
|
||||||
|
cursor.execute(movie_query)
|
||||||
|
movies = [dict(row) for row in cursor.fetchall()]
|
||||||
|
|
||||||
logger.info(f"📊 Found {len(movies)} movies in database")
|
logger.info(f"📊 Found {len(movies)} movies in database")
|
||||||
|
|
||||||
for movie in movies:
|
for movie in movies:
|
||||||
@@ -2401,8 +2404,6 @@ async def nfo_repair_scan(dependencies: dict):
|
|||||||
"error": f"Parse error: {str(e)}"
|
"error": f"Parse error: {str(e)}"
|
||||||
})
|
})
|
||||||
|
|
||||||
db_conn.close()
|
|
||||||
|
|
||||||
total_missing = len(missing_items["episodes"]) + len(missing_items["movies"])
|
total_missing = len(missing_items["episodes"]) + len(missing_items["movies"])
|
||||||
logger.info(f"✅ NFO repair scan complete: {total_missing} items missing dateadded elements")
|
logger.info(f"✅ NFO repair scan complete: {total_missing} items missing dateadded elements")
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user