[SCM] morituri/master: * morituri/common/task.py: Add exception traceback for easier debugging.
js at users.alioth.debian.org
js at users.alioth.debian.org
Sun Oct 19 20:09:20 UTC 2014
The following commit has been merged in the master branch:
commit babf47ec1dfca1ec1a43a15f16aa138fdb6fee5d
Author: Thomas Vander Stichele <thomas (at) apestaart (dot) org>
Date: Fri Jun 18 21:52:20 2010 +0000
* morituri/common/task.py:
Add exception traceback for easier debugging.
diff --git a/ChangeLog b/ChangeLog
index dc1ec89..259ecc8 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2010-06-18 Thomas Vander Stichele <thomas at apestaart dot org>
+
+ * morituri/common/task.py:
+ Add exception traceback for easier debugging.
+
2010-05-23 Thomas Vander Stichele <thomas at apestaart dot org>
* morituri.spec.in:
diff --git a/morituri/common/task.py b/morituri/common/task.py
index cf4cc70..9adb31f 100644
--- a/morituri/common/task.py
+++ b/morituri/common/task.py
@@ -62,6 +62,7 @@ class Task(object, log.Loggable):
runner = None
exception = None
exceptionMessage = None
+ exceptionTraceback = None
_listeners = None
@@ -124,11 +125,15 @@ class Task(object, log.Loggable):
self.exception = exception
self.exceptionMessage = line
+ self.exceptionTraceback = traceback.format_exc()
self.debug('set exception, %r' % self.exceptionMessage)
def setException(self, exception):
+ import traceback
+
self.exception = exception
self.exceptionMessage = log.getExceptionMessage(exception)
+ self.exceptionTraceback = traceback.format_exc()
self.debug('set exception, %r' % self.exceptionMessage)
def addListener(self, listener):
@@ -386,8 +391,12 @@ class SyncRunner(TaskRunner, ITaskListener):
if task.exception:
# catch the exception message
# FIXME: this gave a traceback in the logging module
- self.debug('raising exception, %r', task.exceptionMessage)
- raise TaskException(task.exception, message=task.exceptionMessage)
+ self.debug('raising TaskException for %r, %r' % (
+ task.exceptionMessage, task.exceptionTraceback))
+ msg = task.exceptionMessage
+ if task.exceptionTraceback:
+ msg += "\n" + task.exceptionTraceback
+ raise TaskException(task.exception, message=msg)
def _startWrap(self, task):
# wrap task start such that we can report any exceptions and
--
morituri packaging
More information about the pkg-multimedia-commits
mailing list