mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-08 18:54:09 -04:00
OPF2: Speedup to_book_metadata() by avoiding deepcopying large non-metadata items
This commit is contained in:
parent
7792a0c3be
commit
a700b3f19c
@ -695,7 +695,13 @@ class OPF: # {{{
|
|||||||
if self.package_version >= 3.0:
|
if self.package_version >= 3.0:
|
||||||
from calibre.ebooks.metadata.opf3 import read_metadata
|
from calibre.ebooks.metadata.opf3 import read_metadata
|
||||||
return read_metadata(self.root)
|
return read_metadata(self.root)
|
||||||
ans = MetaInformation(self)
|
# avoid deepcopy of non-metadata items
|
||||||
|
manifest, spine, guide, toc = self.manifest, self.spine, self.guide, self.toc
|
||||||
|
self.manifest = self.spine = self.guide = self.toc = None
|
||||||
|
try:
|
||||||
|
ans = MetaInformation(self)
|
||||||
|
finally:
|
||||||
|
self.manifest, self.spine, self.guide, self.toc = manifest, spine, guide, toc
|
||||||
for n, v in self._user_metadata_.items():
|
for n, v in self._user_metadata_.items():
|
||||||
ans.set_user_metadata(n, v)
|
ans.set_user_metadata(n, v)
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user