api radarr debugs
This commit is contained in:
+41
-30
@@ -274,42 +274,53 @@ class RadarrClient:
|
|||||||
except Exception:
|
except Exception:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
# For moviefileimported events, handle specially
|
# For import/download events, handle specially
|
||||||
|
imported_path = None
|
||||||
|
# Try different sources for the path
|
||||||
if event_type == "moviefileimported":
|
if event_type == "moviefileimported":
|
||||||
imported_path = (event.get("data", {}).get("importedPath", "") or
|
imported_path = (event.get("data", {}).get("importedPath", "") or
|
||||||
event.get("data", {}).get("path", "") or
|
event.get("data", {}).get("path", "") or
|
||||||
event.get("importedPath", "") or
|
event.get("importedPath", "") or
|
||||||
event.get("sourcePath", "")).lower()
|
event.get("sourcePath", "")).lower()
|
||||||
|
elif event_type == "downloadFolderImported":
|
||||||
if imported_path:
|
imported_path = (event.get("data", {}).get("path", "") or
|
||||||
_log("DEBUG", f"Found moviefileimported event with path: {imported_path}")
|
event.get("sourcePath", "") or
|
||||||
movie_imdb = (movie_info.get("imdbId", "") or "").lower()
|
event.get("downloadPath", "")).lower()
|
||||||
movie_title = (movie_info.get("title", "") or "").lower()
|
|
||||||
movie_year = str(movie_info.get("year", ""))
|
if imported_path:
|
||||||
|
_log("DEBUG", f"Found potential import event ({event_type}) with path: {imported_path}")
|
||||||
|
movie_imdb = (movie_info.get("imdbId", "") or "").lower()
|
||||||
|
movie_title = (movie_info.get("title", "") or "").lower()
|
||||||
|
movie_year = str(movie_info.get("year", ""))
|
||||||
|
|
||||||
|
# First try IMDb ID match
|
||||||
|
if movie_imdb and (
|
||||||
|
f"[imdb-{movie_imdb}]" in imported_path or
|
||||||
|
f"[{movie_imdb}]" in imported_path or
|
||||||
|
movie_imdb in imported_path
|
||||||
|
):
|
||||||
|
date_iso = datetime.fromisoformat(event["date"].replace("Z", "+00:00")).astimezone(timezone.utc).isoformat(timespec="seconds")
|
||||||
|
_log("INFO", f"✅ FOUND IMPORT: exact IMDb match at {date_iso}")
|
||||||
|
earliest_real_import = date_iso
|
||||||
|
break
|
||||||
|
|
||||||
|
# Then try title/year match with fuzzy path cleaning
|
||||||
|
if movie_title and movie_year:
|
||||||
|
# Clean strings for comparison by replacing common separators
|
||||||
|
clean_title = movie_title.replace(" ", ".").replace(":", ".").replace("-", ".").replace("_", ".").lower()
|
||||||
|
clean_path = imported_path.replace(" ", ".").replace("-", ".").replace("_", ".").replace("[", "").replace("]", "").lower()
|
||||||
|
|
||||||
# First try IMDb ID match
|
# Remove common words for better matching
|
||||||
if movie_imdb and (
|
for word in ["the", "a", "an"]:
|
||||||
f"[imdb-{movie_imdb}]" in imported_path or
|
clean_title = clean_title.replace(f".{word}.", ".").replace(f"{word}.", "").replace(f".{word}", "")
|
||||||
f"[{movie_imdb}]" in imported_path or
|
clean_path = clean_path.replace(f".{word}.", ".").replace(f"{word}.", "").replace(f".{word}", "")
|
||||||
movie_imdb in imported_path
|
|
||||||
):
|
# Look for both title and year
|
||||||
|
if clean_title in clean_path and movie_year in clean_path:
|
||||||
date_iso = datetime.fromisoformat(event["date"].replace("Z", "+00:00")).astimezone(timezone.utc).isoformat(timespec="seconds")
|
date_iso = datetime.fromisoformat(event["date"].replace("Z", "+00:00")).astimezone(timezone.utc).isoformat(timespec="seconds")
|
||||||
_log("INFO", f"✅ FOUND IMPORT: exact IMDb match at {date_iso}")
|
_log("INFO", f"✅ FOUND IMPORT: title/year match at {date_iso}")
|
||||||
earliest_real_import = date_iso
|
earliest_real_import = date_iso
|
||||||
break
|
break
|
||||||
|
|
||||||
# Then try title/year match
|
|
||||||
if movie_title and movie_year:
|
|
||||||
# Clean strings for comparison
|
|
||||||
clean_title = movie_title.replace(" ", ".").replace(":", ".").lower()
|
|
||||||
clean_path = imported_path.replace(" ", ".").replace("-", ".").replace("_", ".").lower()
|
|
||||||
|
|
||||||
# Look for both title and year
|
|
||||||
if clean_title in clean_path and movie_year in clean_path:
|
|
||||||
date_iso = datetime.fromisoformat(event["date"].replace("Z", "+00:00")).astimezone(timezone.utc).isoformat(timespec="seconds")
|
|
||||||
_log("INFO", f"✅ FOUND IMPORT: title/year match at {date_iso}")
|
|
||||||
earliest_real_import = date_iso
|
|
||||||
break
|
|
||||||
|
|
||||||
# Fallback to normal import analysis
|
# Fallback to normal import analysis
|
||||||
is_real, reason, date_iso = self._analyze_event_for_import(event, movie_info)
|
is_real, reason, date_iso = self._analyze_event_for_import(event, movie_info)
|
||||||
|
|||||||
Reference in New Issue
Block a user