summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Carrillo <ben@futeisha.org>2013-02-11 05:08:03 +0900
committerBen Carrillo <ben@futeisha.org>2013-02-11 05:08:03 +0900
commitf95e8e1ea9ba2c67d875827382e8feb213a6ab22 (patch)
treed95893ec61d0c56579bad6a66ea41073f206548e
parent7a5841c1bf375a39ebfd7dfbe9f39efc040d2494 (diff)
fix for unicodeencode error on _format_args
-rw-r--r--debian/patches/fix-unicodeencode-error19
-rw-r--r--debian/patches/series1
2 files changed, 20 insertions, 0 deletions
diff --git a/debian/patches/fix-unicodeencode-error b/debian/patches/fix-unicodeencode-error
new file mode 100644
index 0000000..821ceb9
--- /dev/null
+++ b/debian/patches/fix-unicodeencode-error
@@ -0,0 +1,19 @@
+Description: fix for _format arg function raising UnicodeDecodeError if DEFAULT_ENCODING cannot encode unicode characters
+Author: Ben Carrillo <ben@futeisha.org>
+Bug: XXX
+Forwarded: yes
+--- a/sh.py
++++ b/sh.py
+@@ -561,7 +561,11 @@
+ # if the argument is already unicode, or a number or whatever,
+ # this first call will fail.
+ try: arg = unicode(arg, DEFAULT_ENCODING).encode(DEFAULT_ENCODING)
+- except TypeError: arg = unicode(arg).encode(DEFAULT_ENCODING)
++ except TypeError:
++ try:
++ arg = unicode(arg).encode(DEFAULT_ENCODING)
++ except UnicodeEncodeError:
++ arg = unicode(arg).encode('utf-8')
+ return arg
+
+
diff --git a/debian/patches/series b/debian/patches/series
new file mode 100644
index 0000000..bbbde28
--- /dev/null
+++ b/debian/patches/series
@@ -0,0 +1 @@
+fix-unicodeencode-error