From e445d0996bec79bb99406931c97037a454e19b12 Mon Sep 17 00:00:00 2001 From: Charles Haley Date: Mon, 17 Apr 2023 18:26:00 +0100 Subject: [PATCH] Save_to_disk formats the undefined date as 101. See https://www.mobileread.com/forums/showthread.php?t=353375 --- src/calibre/library/save_to_disk.py | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/src/calibre/library/save_to_disk.py b/src/calibre/library/save_to_disk.py index eac71e3b75..28bd91440c 100644 --- a/src/calibre/library/save_to_disk.py +++ b/src/calibre/library/save_to_disk.py @@ -16,7 +16,7 @@ from calibre.db.errors import NoSuchFormat from calibre.db.lazy import FormatsList from calibre.ebooks.metadata import fmt_sidx, title_sort from calibre.utils.config import Config, StringConfig, tweaks -from calibre.utils.date import as_local_time +from calibre.utils.date import as_local_time, is_date_undefined from calibre.utils.filenames import ascii_filename, shorten_components_to from calibre.utils.formatter import TemplateFormatter from calibre.utils.localization import _ @@ -208,11 +208,12 @@ def get_components(template, mi, id, timefmt='%b %Y', length=250, else: format_args['identifiers'] = '' - if hasattr(mi.timestamp, 'timetuple'): + if not is_date_undefined(mi.timestamp) and hasattr(mi.timestamp, 'timetuple'): format_args['timestamp'] = strftime(timefmt, mi.timestamp.timetuple()) - if hasattr(mi.pubdate, 'timetuple'): + if not is_date_undefined(mi.pubdate) and hasattr(mi.pubdate, 'timetuple'): format_args['pubdate'] = strftime(timefmt, mi.pubdate.timetuple()) - if hasattr(mi, 'last_modified') and hasattr(mi.last_modified, 'timetuple'): + if (hasattr(mi, 'last_modified') and not is_date_undefined(mi.last_modified) and + hasattr(mi.last_modified, 'timetuple')): format_args['last_modified'] = strftime(timefmt, mi.last_modified.timetuple()) format_args['id'] = str(id)