From f7bf112ae20d304383b001eee1de33f5be0f48f1 Mon Sep 17 00:00:00 2001 From: Kovid Goyal Date: Fri, 12 Sep 2008 14:43:55 -0700 Subject: [PATCH] IGN:Handle HTML files containing only an image in html2lrf. Fixe regression that was causing jobs that failed in the GUI to be marked successfull --- src/calibre/ebooks/lrf/html/convert_from.py | 2 +- src/calibre/parallel.py | 9 ++++++--- 2 files changed, 7 insertions(+), 4 deletions(-) diff --git a/src/calibre/ebooks/lrf/html/convert_from.py b/src/calibre/ebooks/lrf/html/convert_from.py index 665dbd0119..2ea76137bc 100644 --- a/src/calibre/ebooks/lrf/html/convert_from.py +++ b/src/calibre/ebooks/lrf/html/convert_from.py @@ -540,7 +540,7 @@ class HTMLConverter(object, LoggingInterface): return tb for page in list(self.book.pages()[index+1:]): for c in page.contents: - if isinstance(c, (TextBlock, ImageBlock)): + if isinstance(c, (TextBlock, ImageBlock, Canvas)): return c raise ConversionError(_('Could not parse file: %s')%self.file_name) diff --git a/src/calibre/parallel.py b/src/calibre/parallel.py index b7f3b7bfc0..1f4816b25e 100644 --- a/src/calibre/parallel.py +++ b/src/calibre/parallel.py @@ -466,7 +466,9 @@ class Overseer(object): self.job.update_status(percent, msg) elif word == 'ERROR': self.write('OK') - self.job.excetion, self.job.traceback = cPickle.loads(msg) + exception, traceback = cPickle.loads(msg) + self.job.output(u'%s\n%s'%(exception, traceback)) + self.job.exception, self.job.traceback = exception, traceback return True else: self.terminate() @@ -914,10 +916,11 @@ def worker(host, port): write(client_socket, 'RESULT:'+ cPickle.dumps(result)) except BaseException, err: exception = (err.__class__.__name__, unicode(str(err), 'utf-8', 'replace')) - tb = traceback.format_exc() + tb = unicode(traceback.format_exc(), 'utf-8', 'replace') msg = 'ERROR:'+cPickle.dumps((exception, tb),-1) write(client_socket, msg) - if read(client_socket, 10) != 'OK': + res = read(client_socket, 10) + if res != 'OK': break gc.collect() elif msg == 'PING:':