From c983e93a76b3813af4409601f1927febc4c5b353 Mon Sep 17 00:00:00 2001 From: SBCrumb Date: Wed, 24 Sep 2025 08:31:12 -0400 Subject: [PATCH] fix: Use release dates as dateadded fallback when import dates unavailable 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 --- nfoguard.py | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/nfoguard.py b/nfoguard.py index 2a79fbd..80bea22 100644 --- a/nfoguard.py +++ b/nfoguard.py @@ -1007,17 +1007,31 @@ class MovieProcessor: # Use existing movie date decision logic 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) if config.manage_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 - 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") self.db.upsert_movie_dates(imdb_id, released, None, source, True) 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}")