From 3490af8df7740172e3ca05fa01fa5fc11214c454 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Mon, 29 Jul 2013 15:42:10 +0530 Subject: [PATCH] Ensure that undefined datetimes are always written as UNDEFINED_DATE to the db --- src/calibre/db/write.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/calibre/db/write.py b/src/calibre/db/write.py index 5b35248353..58c642e59c 100644 --- a/src/calibre/db/write.py +++ b/src/calibre/db/write.py @@ -13,8 +13,8 @@ from datetime import datetime from calibre.constants import preferred_encoding, ispy3 from calibre.ebooks.metadata import author_to_author_sort, title_sort -from calibre.utils.date import (parse_only_date, parse_date, UNDEFINED_DATE, - isoformat) +from calibre.utils.date import ( + parse_only_date, parse_date, UNDEFINED_DATE, isoformat, is_date_undefined) from calibre.utils.localization import canonicalize_lang from calibre.utils.icu import strcmp @@ -67,12 +67,14 @@ def multiple_text(sep, ui_sep, x): def adapt_datetime(x): if isinstance(x, (unicode, bytes)): x = parse_date(x, assume_utc=False, as_utc=False) + if x and is_date_undefined(x): + x = UNDEFINED_DATE return x def adapt_date(x): if isinstance(x, (unicode, bytes)): x = parse_only_date(x) - if x is None: + if x is None or is_date_undefined(x): x = UNDEFINED_DATE return x