Test podofo read from file

This commit is contained in:
Kovid Goyal 2018-09-08 22:05:20 +05:30
parent 8b03d1d61a
commit 6b14a1204a
No known key found for this signature in database
GPG Key ID: 06BC317B515ACE7C

View File

@ -164,6 +164,7 @@ def test_save_to(src, dest):
def test_podofo(): def test_podofo():
import tempfile
from io import BytesIO from io import BytesIO
from calibre.ebooks.metadata.book.base import Metadata from calibre.ebooks.metadata.book.base import Metadata
from calibre.ebooks.metadata.xmp import metadata_to_xmp_packet from calibre.ebooks.metadata.xmp import metadata_to_xmp_packet
@ -179,12 +180,19 @@ def test_podofo():
buf = BytesIO() buf = BytesIO()
p.save_to_fileobj(buf) p.save_to_fileobj(buf)
raw = buf.getvalue() raw = buf.getvalue()
p = podofo.PDFDoc() with tempfile.NamedTemporaryFile(delete=False) as f:
p.load(raw) f.write(raw)
if (p.title, p.author) != (mi.title, mi.authors[0]): try:
raise ValueError('podofo failed to set title and author in Info dict') p = podofo.PDFDoc()
if not p.get_xmp_metadata(): p.open(f.name)
raise ValueError('podofo failed to write XMP packet') if (p.title, p.author) != (mi.title, mi.authors[0]):
raise ValueError('podofo failed to set title and author in Info dict')
if not p.get_xmp_metadata():
raise ValueError('podofo failed to write XMP packet')
del p
finally:
os.remove(f.name)
if __name__ == '__main__': if __name__ == '__main__':
import sys import sys