summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorGermán M. Bravo <german.mb@gmail.com>2013-08-08 11:25:41 -0500
committerAsk Solem <ask@celeryproject.org>2013-08-14 13:10:26 +0100
commit53dbfde62e84ec3eff15bc0d3ef90af1a493e02e (patch)
tree24e76e4b802680b77a5c3d79dc941ccea165d54f
parent159a634032762a3abc83a7ef982ecced70bd8d56 (diff)
downloadkombu-53dbfde62e84ec3eff15bc0d3ef90af1a493e02e.tar.gz
Return unicode from _safe_str in Python 2.x
Under *Python 2.x*, `_safe_str()` should return `unicode`, otherwise `logger.error(u"The quiæk fåx jømps øver the lazy dåg")` fails in celery's `ColorFormatter`. This is because celery's `ColorFormatter.format()` expects unicode or ascii from `_safe_str()`, not `utf-8`, otherwise `str_t(...)` (`unicode(...)`) fails.
-rw-r--r--kombu/utils/encoding.py2
1 files changed, 1 insertions, 1 deletions
diff --git a/kombu/utils/encoding.py b/kombu/utils/encoding.py
index efeeb329..cb84524c 100644
--- a/kombu/utils/encoding.py
+++ b/kombu/utils/encoding.py
@@ -94,7 +94,7 @@ def _safe_str(s, errors='replace'):
encoding = default_encoding()
try:
if isinstance(s, unicode):
- return s.encode(encoding, errors)
+ return s
return unicode(s, encoding, errors)
except Exception, exc:
return '<Unrepresentable %r: %r %r>' % (