36 lines
1.2 KiB
Diff
36 lines
1.2 KiB
Diff
From 767f49f2d3e6ded0f2e01563fcf2d272aa6a7141 Mon Sep 17 00:00:00 2001
|
|
From: Kamil Dudka <kdudka@redhat.com>
|
|
Date: Mon, 31 Mar 2014 14:38:57 +0200
|
|
Subject: [PATCH] units_cur2: encode utf-8 for sys.stdout, too
|
|
|
|
Otherwise, the script ends up with the following error:
|
|
|
|
$ python2 ./units_cur2 - | cat
|
|
./units_cur2:53: RuntimeWarning: Argument <type 'str'> is not an unicode object. Passing an encoded string will likely have unexpected results.
|
|
ascii = unidecode(names[i])
|
|
Traceback (most recent call last):
|
|
File "./units_cur2", line 114, in <module>
|
|
outfile.write(outstr.replace('\n',os.linesep))
|
|
UnicodeEncodeError: 'ascii' codec can't encode character u'\xf3' in position 41: ordinal not in range(128)
|
|
---
|
|
units_cur2 | 3 ++-
|
|
1 files changed, 2 insertions(+), 1 deletions(-)
|
|
|
|
diff --git a/units_cur2 b/units_cur2
|
|
index 7d4e8f5..d810be5 100755
|
|
--- a/units_cur2
|
|
+++ b/units_cur2
|
|
@@ -104,7 +104,8 @@ for metal in metals:
|
|
|
|
try:
|
|
if outfile == '-':
|
|
- outfile = sys.stdout
|
|
+ info = codecs.lookup('utf8')
|
|
+ outfile = codecs.StreamReaderWriter(sys.stdout, info.streamreader, info.streamwriter)
|
|
else:
|
|
outfile = codecs.open(outfile,'w','utf8')
|
|
except IOError, exc:
|
|
--
|
|
1.7.1
|
|
|