sys.stdin is usually a file, so we must write encoded strings to it.
yum.misc.setup_locale() may choose to replace it with StreamWriter
which expects unicode and breaks on UTF8.
Make sure that StreamWriter still handles valid UTF8.
Alternative is to make the codec override permanent,
and use to_unicode() everywhere.
---
yum/misc.py | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/yum/misc.py b/yum/misc.py
index 5321003..2bc70b7 100644
--- a/yum/misc.py
+++ b/yum/misc.py
@@ -1009,6 +1009,7 @@ def setup_locale(override_codecs=True,
override_time=False):
import codecs
sys.stdout =
codecs.getwriter(locale.getpreferredencoding())(sys.stdout)
sys.stdout.errors = 'replace'
+ sys.stdout.write = lambda s, write=sys.stdout.write:
write(to_unicode(s))
def get_my_lang_code():
--
1.7.4.4
_______________________________________________
Yum-devel mailing list
[email protected]
http://lists.baseurl.org/mailman/listinfo/yum-devel