From 2f6db691137f8d6b9a2f95d9c09ca4c31dafc0f9 Mon Sep 17 00:00:00 2001 From: Damien Elmes Date: Wed, 23 May 2012 09:19:07 +0900 Subject: [PATCH] can't specify coding in unicode(except); convert traceback instead --- aqt/addons.py | 2 +- aqt/sync.py | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/aqt/addons.py b/aqt/addons.py index 9049b17f5..fac3446fb 100644 --- a/aqt/addons.py +++ b/aqt/addons.py @@ -201,7 +201,7 @@ class AddonDownloader(QThread): resp, cont = con.request( aqt.appShared + "download/%d" % self.code) except Exception, e: - self.error = unicode(e, "utf8", "replace") + self.error = unicode(e) return finally: remHook("httpRecv", recvEvent) diff --git a/aqt/sync.py b/aqt/sync.py index d6cf77c2d..3cffb412f 100644 --- a/aqt/sync.py +++ b/aqt/sync.py @@ -122,7 +122,7 @@ Please upgrade to the latest version of Anki.""") elif "502" in err or "503" in err or "504" in err: return _("""\ AnkiWeb is too busy at the moment. Please try again in a few minutes.""") - return unicode(err, "utf8", "replace") + return err def _getUserPass(self): d = QDialog(self.mw) @@ -234,6 +234,8 @@ class SyncThread(QThread): self._sync() except: err = traceback.format_exc() + if not isinstance(err, unicode): + err = unicode(err, "utf8", "replace") self.fireEvent("error", err) finally: # don't bump mod time unless we explicitly save