From 82498e6912c5a449e0247a3d5b25b40bed82fa7c Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Sun, 17 Jan 2016 16:51:44 +0530 Subject: [PATCH] Fix failure to add FB2 files that contain published dates. Fixes #1535007 ['calibredb add' fails on some books](https://bugs.launchpad.net/calibre/+bug/1535007) --- src/calibre/ebooks/metadata/fb2.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/calibre/ebooks/metadata/fb2.py b/src/calibre/ebooks/metadata/fb2.py index 786659d7b0..9390c7a07e 100644 --- a/src/calibre/ebooks/metadata/fb2.py +++ b/src/calibre/ebooks/metadata/fb2.py @@ -5,13 +5,14 @@ __copyright__ = '2011, Roman Mukhin , '\ '2008, Anatoly Shipitsin ' '''Read meta information from fb2 files''' -import os, random, datetime +import os, random from functools import partial from string import ascii_letters, digits from base64 import b64encode from lxml import etree +from calibre.utils.date import parse_only_date from calibre.utils.magick.draw import save_cover_data_to from calibre import guess_type, guess_all_extensions, prints, force_unicode from calibre.ebooks.metadata import MetaInformation, check_isbn @@ -265,7 +266,7 @@ def _parse_pubdate(root, mi, ctx): year = ctx.XPath('number(//fb:publish-info/fb:year/text())')(root) if float.is_integer(year): # only year is available, so use 2nd of June - mi.pubdate = datetime.date(int(year), 6, 2) + mi.pubdate = parse_only_date(type(u'')(int(year))) def _parse_language(root, mi, ctx): language = ctx.XPath('string(//fb:title-info/fb:lang/text())')(root)