IGN:Use metadata_to_opf instead of OPFCreator to pass metadata to the worker process

This commit is contained in:
Kovid Goyal 2009-09-14 17:28:13 -06:00
parent 90e591274b
commit 22a2420450

View File

@ -14,16 +14,16 @@ from calibre.gui2 import choose_images, error_dialog
from calibre.gui2.convert.metadata_ui import Ui_Form from calibre.gui2.convert.metadata_ui import Ui_Form
from calibre.ebooks.metadata import authors_to_string, string_to_authors, \ from calibre.ebooks.metadata import authors_to_string, string_to_authors, \
MetaInformation MetaInformation
from calibre.ebooks.metadata.opf2 import OPFCreator from calibre.ebooks.metadata.opf2 import metadata_to_opf
from calibre.ptempfile import PersistentTemporaryFile from calibre.ptempfile import PersistentTemporaryFile
from calibre.gui2.convert import Widget from calibre.gui2.convert import Widget
def create_opf_file(db, book_id): def create_opf_file(db, book_id):
mi = db.get_metadata(book_id, index_is_id=True) mi = db.get_metadata(book_id, index_is_id=True)
mi.application_id = uuid.uuid4() mi.application_id = uuid.uuid4()
opf = OPFCreator(os.getcwdu(), mi) raw = metadata_to_opf(mi)
opf_file = PersistentTemporaryFile('.opf') opf_file = PersistentTemporaryFile('.opf')
opf.render(opf_file) opf_file.write(raw)
opf_file.close() opf_file.close()
return mi, opf_file return mi, opf_file