From 0b24cb8674672b4386d8ba8fd764d0a54fff3127 Mon Sep 17 00:00:00 2001 From: GRiker Date: Sun, 13 Jan 2013 03:55:42 -0700 Subject: [PATCH 1/2] undid changes adding uuid as dc:identifier in anticipation of Kovid's solution. --- src/calibre/ebooks/metadata/epub.py | 3 +-- src/calibre/ebooks/metadata/opf2.py | 3 --- 2 files changed, 1 insertion(+), 5 deletions(-) diff --git a/src/calibre/ebooks/metadata/epub.py b/src/calibre/ebooks/metadata/epub.py index 5b8f75c3b1..bc81df5a79 100644 --- a/src/calibre/ebooks/metadata/epub.py +++ b/src/calibre/ebooks/metadata/epub.py @@ -289,9 +289,8 @@ def set_metadata(stream, mi, apply_null=False, update_timestamp=False): langs.append(lc) mi.languages = langs - reader.opf.smart_update(mi) - reader.opf.add_uuid_identifier(mi.uuid) + reader.opf.smart_update(mi) if apply_null: if not getattr(mi, 'series', None): reader.opf.series = None diff --git a/src/calibre/ebooks/metadata/opf2.py b/src/calibre/ebooks/metadata/opf2.py index 5d853288de..3e5d95f1ce 100644 --- a/src/calibre/ebooks/metadata/opf2.py +++ b/src/calibre/ebooks/metadata/opf2.py @@ -1163,9 +1163,6 @@ class OPF(object): # {{{ temp.smart_update(mi, replace_metadata=replace_metadata) self._user_metadata_ = temp.get_all_user_metadata(True) - def add_uuid_identifier(self,uuid): - setattr(self,'uuid',uuid) - # }}} class OPFCreator(Metadata): From bf34daf4006e1f1342e5ecffc8df5944445e15c8 Mon Sep 17 00:00:00 2001 From: GRiker Date: Mon, 14 Jan 2013 08:25:29 -0700 Subject: [PATCH 2/2] Added calibre:uuid to EXTH:112 (source) --- src/calibre/ebooks/mobi/writer8/exth.py | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/calibre/ebooks/mobi/writer8/exth.py b/src/calibre/ebooks/mobi/writer8/exth.py index a060e338d1..31792d2156 100644 --- a/src/calibre/ebooks/mobi/writer8/exth.py +++ b/src/calibre/ebooks/mobi/writer8/exth.py @@ -110,6 +110,12 @@ def build_exth(metadata, prefer_author_sort=False, is_periodical=False, exth.write(uuid) nrecs += 1 + # Write UUID as SOURCE + c_uuid = b'calibre:%s' % uuid + exth.write(pack(b'>II', 112, len(c_uuid) + 8)) + exth.write(c_uuid) + nrecs += 1 + # Write cdetype if not is_periodical: if not share_not_sync: