From eebf86b0032a2a9622d2f2894d95ce3ab6aa058b Mon Sep 17 00:00:00 2001 From: Admin9705 <9705@duck.com> Date: Fri, 2 May 2025 23:06:34 -0400 Subject: [PATCH] update --- src/primary/apps/readarr/upgrade.py | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/src/primary/apps/readarr/upgrade.py b/src/primary/apps/readarr/upgrade.py index b09bcb56..e136d761 100644 --- a/src/primary/apps/readarr/upgrade.py +++ b/src/primary/apps/readarr/upgrade.py @@ -74,10 +74,22 @@ def process_cutoff_upgrades( release_date_str = book.get('releaseDate') if release_date_str: try: - # Readarr release dates are usually just YYYY-MM-DD - release_date = datetime.datetime.strptime(release_date_str, '%Y-%m-%d').replace(tzinfo=datetime.timezone.utc) + # Try to parse ISO format first (with time component) + try: + # Handle ISO format date strings like '2023-10-17T04:00:00Z' + # fromisoformat doesn't handle 'Z' timezone, so we replace it + release_date_str_fixed = release_date_str.replace('Z', '+00:00') + release_date = datetime.datetime.fromisoformat(release_date_str_fixed) + except ValueError: + # Fall back to simple YYYY-MM-DD format + release_date = datetime.datetime.strptime(release_date_str, '%Y-%m-%d') + # Add UTC timezone for consistent comparison + release_date = release_date.replace(tzinfo=datetime.timezone.utc) + if release_date <= now: filtered_books.append(book) + else: + readarr_logger.debug(f"Skipping future book ID {book.get('id')} with release date {release_date_str}") except ValueError: readarr_logger.warning(f"Could not parse release date '{release_date_str}' for book ID {book.get('id')}. Including anyway.") filtered_books.append(book)