update with the ability to add IMDB to skipped
Local Docker Build (Dev) / build-dev (push) Successful in 35s

This commit is contained in:
2025-11-04 08:48:22 -05:00
parent d501c4364c
commit 2f0537ef1d
5 changed files with 262 additions and 7 deletions
+72 -2
View File
@@ -1524,7 +1524,42 @@ def register_web_routes(app, dependencies):
except Exception as e:
print(f"❌ Error deleting movie: {e}")
raise HTTPException(status_code=500, detail=f"Failed to delete movie: {str(e)}")
@app.post("/api/movies/{old_imdb_id}/migrate-imdb")
async def api_migrate_movie_imdb(old_imdb_id: str, request: Request):
"""Migrate a movie from placeholder IMDb ID to real IMDb ID"""
db = dependencies["db"]
try:
data = await request.json()
new_imdb_id = data.get('new_imdb_id')
if not new_imdb_id:
raise HTTPException(status_code=422, detail="new_imdb_id is required")
# Normalize IMDb ID
if not new_imdb_id.startswith('tt'):
new_imdb_id = f"tt{new_imdb_id}"
success = db.migrate_movie_imdb_id(old_imdb_id, new_imdb_id)
if success:
return {
"success": True,
"status": "success",
"message": f"Migrated movie from {old_imdb_id} to {new_imdb_id}",
"old_imdb_id": old_imdb_id,
"new_imdb_id": new_imdb_id
}
else:
raise HTTPException(status_code=404, detail="Movie not found")
except HTTPException:
raise
except Exception as e:
print(f"❌ Error migrating movie IMDb ID: {e}")
raise HTTPException(status_code=500, detail=f"Failed to migrate IMDb ID: {str(e)}")
# TV series endpoints
@app.get("/api/series")
async def api_series_list(skip: int = 0, limit: int = 50, search: str = None,
@@ -1542,7 +1577,42 @@ def register_web_routes(app, dependencies):
@app.get("/api/series/debug/date-distribution")
async def api_debug_series_date_distribution():
return await debug_series_date_distribution(dependencies)
@app.post("/api/series/{old_imdb_id}/migrate-imdb")
async def api_migrate_series_imdb(old_imdb_id: str, request: Request):
"""Migrate a series and all its episodes from placeholder IMDb ID to real IMDb ID"""
db = dependencies["db"]
try:
data = await request.json()
new_imdb_id = data.get('new_imdb_id')
if not new_imdb_id:
raise HTTPException(status_code=422, detail="new_imdb_id is required")
# Normalize IMDb ID
if not new_imdb_id.startswith('tt'):
new_imdb_id = f"tt{new_imdb_id}"
success = db.migrate_series_imdb_id(old_imdb_id, new_imdb_id)
if success:
return {
"success": True,
"status": "success",
"message": f"Migrated series and episodes from {old_imdb_id} to {new_imdb_id}",
"old_imdb_id": old_imdb_id,
"new_imdb_id": new_imdb_id
}
else:
raise HTTPException(status_code=404, detail="Series not found")
except HTTPException:
raise
except Exception as e:
print(f"❌ Error migrating series IMDb ID: {e}")
raise HTTPException(status_code=500, detail=f"Failed to migrate IMDb ID: {str(e)}")
# Episode endpoints
@app.post("/api/episodes/{imdb_id}/{season}/{episode}/update-date")
async def api_update_episode_date(imdb_id: str, season: int, episode: int,