From b4cef9b3928d89e85ab881f85fc06594d77225a5 Mon Sep 17 00:00:00 2001 From: Kamil Dudka Date: Mon, 31 Mar 2014 15:01:47 +0200 Subject: [PATCH] improve utf-8 support in the units_cur script --- units-2.10-bz1082335.patch | 35 +++++++++++++++++++++++++++++++++++ units.spec | 4 ++++ 2 files changed, 39 insertions(+) create mode 100644 units-2.10-bz1082335.patch diff --git a/units-2.10-bz1082335.patch b/units-2.10-bz1082335.patch new file mode 100644 index 0000000..2ddce3a --- /dev/null +++ b/units-2.10-bz1082335.patch @@ -0,0 +1,35 @@ +From 767f49f2d3e6ded0f2e01563fcf2d272aa6a7141 Mon Sep 17 00:00:00 2001 +From: Kamil Dudka +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 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 + 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 + diff --git a/units.spec b/units.spec index eb85162..e40fca3 100644 --- a/units.spec +++ b/units.spec @@ -3,6 +3,7 @@ Name: units Version: 2.10 Release: 2%{?dist} Source: ftp://ftp.gnu.org/gnu/units/%{name}-%{version}.tar.gz +Patch0: units-2.10-bz1082335.patch URL: http://www.gnu.org/software/units/units.html License: GPLv3+ Group: Applications/Engineering @@ -23,6 +24,8 @@ well as conversions such as Fahrenheit to Celsius. %prep %setup -q +%patch0 -p1 +touch units_cur3 %build %configure @@ -59,6 +62,7 @@ fi %changelog * Mon Mar 31 2014 Kamil Dudka - 2.10-2 - require python-unidecode used by the units_cur script +- improve utf-8 support in the units_cur script * Thu Mar 27 2014 Kamil Dudka - 2.10-1 - new upstream release