db updates
This commit is contained in:
+69
@@ -1044,6 +1044,75 @@ async def manual_scan(background_tasks: BackgroundTasks, path: Optional[str] = N
|
||||
background_tasks.add_task(run_scan)
|
||||
return {"status": "started", "message": f"Manual {scan_type} scan started"}
|
||||
|
||||
@app.post("/test/bulk-update")
|
||||
async def test_bulk_update():
|
||||
"""Test bulk update functionality without modifying data"""
|
||||
try:
|
||||
from clients.radarr_db_client import RadarrDbClient
|
||||
|
||||
# Test Radarr database
|
||||
radarr_db = RadarrDbClient.from_env()
|
||||
if not radarr_db:
|
||||
return {"status": "error", "message": "Radarr database connection failed"}
|
||||
|
||||
# Test query execution
|
||||
query = 'SELECT COUNT(*) FROM "Movies" m JOIN "MovieMetadata" mm ON m."MovieMetadataId" = mm."Id" WHERE mm."ImdbId" IS NOT NULL'
|
||||
with radarr_db._get_connection() as conn:
|
||||
cursor = conn.cursor()
|
||||
cursor.execute(query)
|
||||
movie_count = cursor.fetchone()[0]
|
||||
|
||||
return {
|
||||
"status": "success",
|
||||
"message": "Bulk update test passed",
|
||||
"movies_with_imdb": movie_count,
|
||||
"database_type": radarr_db.db_type
|
||||
}
|
||||
except Exception as e:
|
||||
return {"status": "error", "message": f"Bulk update test failed: {e}"}
|
||||
|
||||
@app.post("/test/movie-scan")
|
||||
async def test_movie_scan():
|
||||
"""Test movie directory scanning logic"""
|
||||
try:
|
||||
results = []
|
||||
for path in config.movie_paths:
|
||||
path_result = {
|
||||
"path": str(path),
|
||||
"exists": path.exists(),
|
||||
"movies_found": 0
|
||||
}
|
||||
|
||||
if path.exists():
|
||||
for item in path.iterdir():
|
||||
if item.is_dir() and nfo_manager.parse_imdb_from_path(item):
|
||||
path_result["movies_found"] += 1
|
||||
|
||||
results.append(path_result)
|
||||
|
||||
total_movies = sum(r["movies_found"] for r in results)
|
||||
return {
|
||||
"status": "success",
|
||||
"message": f"Movie scan test found {total_movies} movies",
|
||||
"path_results": results
|
||||
}
|
||||
except Exception as e:
|
||||
return {"status": "error", "message": f"Movie scan test failed: {e}"}
|
||||
|
||||
@app.post("/bulk/update")
|
||||
async def trigger_bulk_update(background_tasks: BackgroundTasks):
|
||||
"""Trigger bulk update of all movies"""
|
||||
async def run_bulk_update():
|
||||
try:
|
||||
from bulk_update_movies import bulk_update_all_movies
|
||||
success = bulk_update_all_movies()
|
||||
_log("INFO", f"Bulk update completed: {'success' if success else 'failed'}")
|
||||
except Exception as e:
|
||||
_log("ERROR", f"Bulk update error: {e}")
|
||||
|
||||
background_tasks.add_task(run_bulk_update)
|
||||
return {"status": "started", "message": "Bulk update started"}
|
||||
|
||||
# ---------------------------
|
||||
# Main
|
||||
# ---------------------------
|
||||
|
||||
Reference in New Issue
Block a user