tmdb debuging

This commit is contained in:
2025-09-09 09:39:43 -04:00
parent fed82a9e13
commit d75016bbf2
2 changed files with 77 additions and 0 deletions
+74
View File
@@ -1246,6 +1246,80 @@ async def debug_movie_priority_logic(imdb_id: str):
except Exception as e:
return {"error": str(e), "imdb_id": imdb_id}
@app.get("/debug/tmdb/{imdb_id}")
async def debug_tmdb_lookup(imdb_id: str):
"""Debug TMDB API lookup for a specific movie"""
try:
if not imdb_id.startswith("tt"):
imdb_id = f"tt{imdb_id}"
result = {
"imdb_id": imdb_id,
"tmdb_api_enabled": movie_processor.external_clients.tmdb.enabled,
"tmdb_api_key_configured": bool(movie_processor.external_clients.tmdb.api_key),
"steps": {}
}
if not movie_processor.external_clients.tmdb.enabled:
result["error"] = "TMDB API not enabled - check TMDB_API_KEY environment variable"
return result
# Step 1: Find movie by IMDb ID
_log("INFO", f"TMDB Debug: Looking up {imdb_id}")
tmdb_movie = movie_processor.external_clients.tmdb.find_by_imdb(imdb_id)
result["steps"]["1_find_by_imdb"] = {
"found": bool(tmdb_movie),
"tmdb_movie": tmdb_movie if tmdb_movie else None
}
if not tmdb_movie:
result["error"] = f"Movie {imdb_id} not found in TMDB"
return result
tmdb_id = tmdb_movie.get("id")
result["tmdb_id"] = tmdb_id
# Step 2: Get release dates
if tmdb_id:
_log("INFO", f"TMDB Debug: Getting release dates for TMDB ID {tmdb_id}")
release_dates_result = movie_processor.external_clients.tmdb._get(f"/movie/{tmdb_id}/release_dates")
result["steps"]["2_release_dates"] = {
"raw_response": release_dates_result,
"has_results": bool(release_dates_result and release_dates_result.get("results"))
}
# Step 3: Look for US digital releases
if release_dates_result and release_dates_result.get("results"):
us_releases = []
for country_data in release_dates_result["results"]:
if country_data.get("iso_3166_1") == "US":
us_releases = country_data.get("release_dates", [])
break
result["steps"]["3_us_releases"] = {
"found_us_data": bool(us_releases),
"us_releases": us_releases
}
# Step 4: Look for digital releases (type 4)
digital_releases = [r for r in us_releases if r.get("type") == 4]
result["steps"]["4_digital_releases"] = {
"digital_count": len(digital_releases),
"digital_releases": digital_releases
}
# Step 5: Test the full digital release function
digital_date = movie_processor.external_clients.tmdb.get_digital_release_date(imdb_id)
result["steps"]["5_final_result"] = {
"digital_date": digital_date,
"success": bool(digital_date)
}
return result
except Exception as e:
return {"error": str(e), "imdb_id": imdb_id, "traceback": str(e)}
# ---------------------------
# Main
# ---------------------------