diff --git a/src/calibre/ebooks/oeb/base.py b/src/calibre/ebooks/oeb/base.py index 276f315873..1e8aaa8b60 100644 --- a/src/calibre/ebooks/oeb/base.py +++ b/src/calibre/ebooks/oeb/base.py @@ -455,7 +455,7 @@ class Metadata(object): 'description', 'format', 'identifier', 'language', 'publisher', 'relation', 'rights', 'source', 'subject', 'title', 'type']) - CALIBRE_TERMS = set(['series', 'series_index', 'rating']) + CALIBRE_TERMS = set(['series', 'series_index', 'rating', 'timestamp']) OPF_ATTRS = {'role': OPF('role'), 'file-as': OPF('file-as'), 'scheme': OPF('scheme'), 'event': OPF('event'), 'type': XSI('type'), 'lang': XML('lang'), 'id': 'id'} diff --git a/src/calibre/ebooks/oeb/transforms/metadata.py b/src/calibre/ebooks/oeb/transforms/metadata.py index b2d254f76c..74bf78c691 100644 --- a/src/calibre/ebooks/oeb/transforms/metadata.py +++ b/src/calibre/ebooks/oeb/transforms/metadata.py @@ -7,6 +7,7 @@ __copyright__ = '2009, Kovid Goyal ' __docformat__ = 'restructuredtext en' import os +from datetime import datetime def meta_info_to_oeb_metadata(mi, m, log): if mi.title: @@ -56,6 +57,15 @@ def meta_info_to_oeb_metadata(mi, m, log): m.clear('subject') for t in mi.tags: m.add('subject', t) + if mi.pubdate is not None: + m.clear('date') + m.add('date', mi.pubdate.isoformat()) + if mi.timestamp is not None: + m.clear('timestamp') + m.add('timestamp', mi.timestamp.isoformat()) + if not m.timestamp: + m.add('timestamp', datetime.utcnow().isoformat()) + class MergeMetadata(object):