mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-08 10:44:09 -04:00
Show conversion log on exceptions
This commit is contained in:
parent
143bc34a1c
commit
eda257421f
@ -45,6 +45,7 @@ class Job(Thread):
|
|||||||
except WorkerError as err:
|
except WorkerError as err:
|
||||||
import traceback
|
import traceback
|
||||||
self.traceback = err.orig_tb or traceback.format_exc()
|
self.traceback = err.orig_tb or traceback.format_exc()
|
||||||
|
self.log_path = getattr(err, 'log_path', None)
|
||||||
else:
|
else:
|
||||||
self.result, self.log_path = result['result'], result['stdout_stderr']
|
self.result, self.log_path = result['result'], result['stdout_stderr']
|
||||||
self.done = True
|
self.done = True
|
||||||
|
@ -20,9 +20,10 @@ from calibre.utils.ipc.launch import Worker
|
|||||||
|
|
||||||
class WorkerError(Exception):
|
class WorkerError(Exception):
|
||||||
|
|
||||||
def __init__(self, msg, orig_tb=''):
|
def __init__(self, msg, orig_tb='', log_path=None):
|
||||||
Exception.__init__(self, msg)
|
Exception.__init__(self, msg)
|
||||||
self.orig_tb = orig_tb
|
self.orig_tb = orig_tb
|
||||||
|
self.log_path = log_path
|
||||||
|
|
||||||
|
|
||||||
class ConnectedWorker(Thread):
|
class ConnectedWorker(Thread):
|
||||||
@ -225,6 +226,10 @@ def fork_job(mod_name, func_name, args=(), kwargs={}, timeout=300, # seconds
|
|||||||
communicate(ans, w, listener, (mod_name, func_name, args, kwargs,
|
communicate(ans, w, listener, (mod_name, func_name, args, kwargs,
|
||||||
module_is_source_code), timeout=timeout, heartbeat=heartbeat,
|
module_is_source_code), timeout=timeout, heartbeat=heartbeat,
|
||||||
abort=abort)
|
abort=abort)
|
||||||
|
except WorkerError as e:
|
||||||
|
if not no_output:
|
||||||
|
e.log_path = w.log_path
|
||||||
|
raise
|
||||||
finally:
|
finally:
|
||||||
t = Thread(target=w.kill)
|
t = Thread(target=w.kill)
|
||||||
t.daemon=True
|
t.daemon=True
|
||||||
|
@ -92,7 +92,7 @@ def show_failure(response):
|
|||||||
if response.traceback:
|
if response.traceback:
|
||||||
log += response.traceback
|
log += response.traceback
|
||||||
if response.log:
|
if response.log:
|
||||||
log += '\n\n' + _('Conversion log')
|
log += '\n\n' + _('Conversion log') + '\n\n'
|
||||||
log += response.log
|
log += response.log
|
||||||
c.appendChild(E.pre(log))
|
c.appendChild(E.pre(log))
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user