fix: Use release dates as dateadded fallback when import dates unavailable
Local Docker Build (Dev) / build-dev (push) Failing after 0s
Local Docker Build (Dev) / build-dev (push) Failing after 0s
When Radarr can't provide import/download dates, the system now properly uses digital release dates, theatrical dates, or air dates as the dateadded value for both NFO files and database storage. This fixes the issue where movies would get minimal NFO content with "no_valid_date_source" when valid release dates were available but not being saved to the database for future use. Key changes: - Use release date as dateadded when import date is None but release date exists - Ensure all found dates are saved to database for future manual scans - Maintain proper source tracking for debugging - Fix NFO files getting minimal content when valid dates exist
This commit is contained in:
+16
-2
@@ -1007,18 +1007,32 @@ class MovieProcessor:
|
|||||||
# Use existing movie date decision logic
|
# Use existing movie date decision logic
|
||||||
dateadded, source, released = self._decide_movie_dates(imdb_id, movie_path, should_query, existing)
|
dateadded, source, released = self._decide_movie_dates(imdb_id, movie_path, should_query, existing)
|
||||||
|
|
||||||
|
# If we don't have an import/download date but we have a release date, use it as dateadded
|
||||||
|
# This ensures we save digital release dates, theatrical dates, etc. to the database
|
||||||
|
final_dateadded = dateadded
|
||||||
|
final_source = source
|
||||||
|
|
||||||
|
if dateadded is None and released is not None:
|
||||||
|
final_dateadded = released
|
||||||
|
final_source = f"{source}_as_dateadded" if source else "release_date_fallback"
|
||||||
|
_log("INFO", f"Using release date as dateadded: {final_dateadded} (source: {final_source})")
|
||||||
|
|
||||||
# Create NFO regardless of date availability (preserves existing metadata)
|
# Create NFO regardless of date availability (preserves existing metadata)
|
||||||
if config.manage_nfo:
|
if config.manage_nfo:
|
||||||
self.nfo_manager.create_movie_nfo(
|
self.nfo_manager.create_movie_nfo(
|
||||||
movie_path, imdb_id, dateadded, released, source, config.lock_metadata
|
movie_path, imdb_id, final_dateadded, released, final_source, config.lock_metadata
|
||||||
)
|
)
|
||||||
|
|
||||||
# Skip remaining processing if no valid date found and file dates disabled
|
# Skip remaining processing if no valid date found and file dates disabled
|
||||||
if dateadded is None:
|
if final_dateadded is None:
|
||||||
_log("WARNING", f"Movie {movie_path.name} - no valid date source available, but NFO was still processed")
|
_log("WARNING", f"Movie {movie_path.name} - no valid date source available, but NFO was still processed")
|
||||||
self.db.upsert_movie_dates(imdb_id, released, None, source, True)
|
self.db.upsert_movie_dates(imdb_id, released, None, source, True)
|
||||||
return
|
return
|
||||||
|
|
||||||
|
# Update dateadded and source for the rest of processing
|
||||||
|
dateadded = final_dateadded
|
||||||
|
source = final_source
|
||||||
|
|
||||||
_log("DEBUG", f"Movie {movie_path.name} proceeding to save: dateadded={dateadded}, source={source}")
|
_log("DEBUG", f"Movie {movie_path.name} proceeding to save: dateadded={dateadded}, source={source}")
|
||||||
|
|
||||||
# Update file mtimes (only if we have a valid date)
|
# Update file mtimes (only if we have a valid date)
|
||||||
|
|||||||
Reference in New Issue
Block a user