tmdb debuging
This commit is contained in:
+74
@@ -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
|
||||
# ---------------------------
|
||||
|
||||
Reference in New Issue
Block a user