From 306477600f1f1b05c4010431edd0348e20703bd8 Mon Sep 17 00:00:00 2001 From: Thomas Leonard Date: Sat, 3 Jul 2010 14:06:46 +0100 Subject: [PATCH] Another unicode work-around --- zeroinstall/injector/background.py | 5 ++++- zeroinstall/support/tasks.py | 6 +++++- 2 files changed, 9 insertions(+), 2 deletions(-) diff --git a/zeroinstall/injector/background.py b/zeroinstall/injector/background.py index ef873ab..248a184 100644 --- a/zeroinstall/injector/background.py +++ b/zeroinstall/injector/background.py @@ -99,7 +99,10 @@ class BackgroundHandler(handler.Handler): import traceback details = '\n' + '\n'.join(traceback.format_exception(type(exception), exception, tb)) else: - details = str(exception) + try: + details = unicode(exception) + except: + details = repr(exception) self.notify("Zero Install", _("Error updating %(title)s: %(details)s") % {'title': self.title, 'details': details.replace('<', '<')}) def notify(self, title, message, timeout = 0, actions = []): diff --git a/zeroinstall/support/tasks.py b/zeroinstall/support/tasks.py index a32b132..c22ba43 100644 --- a/zeroinstall/support/tasks.py +++ b/zeroinstall/support/tasks.py @@ -57,7 +57,11 @@ def check(blockers, reporter = None): if b.exception: b.exception_read = True if reporter: - reporter(*b.exception) + try: + reporter(*b.exception) + except: + warn("Failure reporting error! Error was: %s", repr(b.exception[0])) + raise elif ex is None: ex = b.exception else: -- 2.11.4.GIT