From 4c2499767e9f26caaab3981d31a6978a7fe63de1 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Thu, 31 May 2012 07:12:08 +0530 Subject: [PATCH] ... --- src/calibre/ebooks/metadata/pdf.py | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/calibre/ebooks/metadata/pdf.py b/src/calibre/ebooks/metadata/pdf.py index 53929013dd56..8eb12f86c568 100644 --- a/src/calibre/ebooks/metadata/pdf.py +++ b/src/calibre/ebooks/metadata/pdf.py @@ -11,7 +11,7 @@ from calibre.constants import iswindows from calibre.ptempfile import TemporaryDirectory from calibre.ebooks.metadata import MetaInformation, string_to_authors -from calibre.utils.ipc.simple_worker import fork_job +from calibre.utils.ipc.simple_worker import fork_job, WorkerError #_isbn_pat = re.compile(r'ISBN[: ]*([-0-9Xx]+)') @@ -63,8 +63,12 @@ def get_metadata(stream, cover=True): stream.seek(0) with open(os.path.join(pdfpath, 'src.pdf'), 'wb') as f: shutil.copyfileobj(stream, f) - res = fork_job('calibre.ebooks.metadata.pdf', 'read_info', (pdfpath, - bool(cover))) + try: + res = fork_job('calibre.ebooks.metadata.pdf', 'read_info', + (pdfpath, bool(cover))) + except WorkerError as e: + prints(e.orig_tb) + raise RuntimeError('Failed to run pdfinfo') info = res['result'] with open(res['stdout_stderr'], 'rb') as f: raw = f.read().strip()