summaryrefslogtreecommitdiff
path: root/docutils/__init__.py
diff options
context:
space:
mode:
authormilde <milde@929543f6-e4f2-0310-98a6-ba3bd3dd1d04>2011-04-12 09:10:57 +0000
committermilde <milde@929543f6-e4f2-0310-98a6-ba3bd3dd1d04>2011-04-12 09:10:57 +0000
commit81342e2ec4bd203e386a60c2e3a7a392bcf97b1d (patch)
tree753f5c289bc6becdaf2b9a577474f660ef02a473 /docutils/__init__.py
parent06779143bf3f500590fd4dd5e5549d32743e0938 (diff)
downloaddocutils-81342e2ec4bd203e386a60c2e3a7a392bcf97b1d.tar.gz
Workaround for unicode messages in Exception instances with Python < 2.6.
git-svn-id: http://svn.code.sf.net/p/docutils/code/trunk/docutils@7007 929543f6-e4f2-0310-98a6-ba3bd3dd1d04
Diffstat (limited to 'docutils/__init__.py')
-rw-r--r--docutils/__init__.py12
1 files changed, 11 insertions, 1 deletions
diff --git a/docutils/__init__.py b/docutils/__init__.py
index b37b0d1ed..5305720a6 100644
--- a/docutils/__init__.py
+++ b/docutils/__init__.py
@@ -60,7 +60,17 @@ __version_details__ = 'repository'
"""Extra version details (e.g. 'snapshot 2005-05-29, r3410', 'repository',
'release'), modified automatically & manually."""
-class ApplicationError(StandardError): pass
+import sys
+
+class ApplicationError(StandardError):
+ # Workaround:
+ # In Python < 2.6, unicode(<exception instance>) calls `str` on the
+ # arg and therefore, e.g., unicode(StandardError(u'\u234')) fails
+ # with UnicodeDecodeError.
+ if sys.version_info < (2,6):
+ def __unicode__(self):
+ return u', '.join(self.args)
+
class DataError(ApplicationError): pass