api update

This commit is contained in:
2025-09-08 11:06:56 -04:00
parent 932db05646
commit 75bf1b470e
3 changed files with 23 additions and 5 deletions
+1 -1
View File
@@ -1 +1 @@
0.2.5 0.2.7
+4 -3
View File
@@ -184,9 +184,10 @@ class RadarrClient:
_log("INFO", f"Finding earliest import for movie_id {movie_id}") _log("INFO", f"Finding earliest import for movie_id {movie_id}")
# Get movie info for path validation # Get movie info for path validation
movie_info = self._get("/api/v3/movie", {"movieId": movie_id}) movie_info = self._get(f"/api/v3/movie/{movie_id}")
if isinstance(movie_info, list) and movie_info: if not movie_info or not isinstance(movie_info, dict):
movie_info = movie_info[0] _log("ERROR", f"Could not get movie info for ID {movie_id}")
return None
earliest_real_import = None earliest_real_import = None
first_grab = None first_grab = None
+18 -1
View File
@@ -4,6 +4,7 @@ Path mapping module for NFOGuard
Handles path translation between container, Radarr/Sonarr, and download client paths Handles path translation between container, Radarr/Sonarr, and download client paths
""" """
import os import os
import re
from pathlib import Path from pathlib import Path
from datetime import datetime from datetime import datetime
from typing import Dict, List, Optional, Tuple from typing import Dict, List, Optional, Tuple
@@ -165,10 +166,14 @@ class PathMapper:
path_lower = str(path).lower() path_lower = str(path).lower()
return any(indicator in path_lower for indicator in self.download_path_indicators) return any(indicator in path_lower for indicator in self.download_path_indicators)
def analyze_import_source_path(self, source_path: str) -> Tuple[bool, str]: def analyze_import_source_path(self, source_path: str, movie_path: str = None) -> Tuple[bool, str]:
""" """
Analyze import source path to determine if it's from downloads. Analyze import source path to determine if it's from downloads.
Args:
source_path: Path to analyze
movie_path: Optional movie path to validate against
Returns: Returns:
(is_from_downloads, reason) (is_from_downloads, reason)
""" """
@@ -177,6 +182,18 @@ class PathMapper:
path_lower = source_path.lower() path_lower = source_path.lower()
# If movie_path is provided, check if source path has matching IMDb ID or movie name
if movie_path:
movie_lower = str(movie_path).lower()
movie_basename = os.path.basename(movie_lower)
source_basename = os.path.basename(path_lower)
# Extract IMDb ID pattern
imdb_match = re.search(r'tt\d+', movie_basename)
if imdb_match and imdb_match.group(0) in source_basename:
_log("DEBUG", f"Source path matches movie IMDb ID: {imdb_match.group(0)}")
return True, "matched_movie_imdb"
# Check for download indicators # Check for download indicators
for indicator in self.download_path_indicators: for indicator in self.download_path_indicators:
if indicator in path_lower: if indicator in path_lower: