From: Zac Medico Date: Thu, 24 Sep 2009 06:36:47 +0000 (-0000) Subject: Avoid unicode errors in python 3. Thanks to Arfrever for reporting. X-Git-Tag: v2.2_rc42~24 X-Git-Url: http://git.tremily.us/?a=commitdiff_plain;h=90cbb047d50a79d9bdb51b77ef944d9fb4097917;p=portage.git Avoid unicode errors in python 3. Thanks to Arfrever for reporting. svn path=/main/trunk/; revision=14400 --- diff --git a/bin/filter-bash-environment.py b/bin/filter-bash-environment.py index 11419fddc..eedb06097 100755 --- a/bin/filter-bash-environment.py +++ b/bin/filter-bash-environment.py @@ -3,6 +3,7 @@ # Distributed under the terms of the GNU General Public License v2 # $Id$ +import codecs import os, re, sys here_doc_re = re.compile(r'.*\s<<[-]?(\w+)$') @@ -112,6 +113,13 @@ if __name__ == "__main__": parser.error("Missing required PATTERN argument.") file_in = sys.stdin file_out = sys.stdout + if sys.hexversion >= 0x3000000: + file_in = codecs.iterdecode(sys.stdin.buffer.raw, + 'utf_8', errors='replace') + import io + file_out = io.TextIOWrapper(sys.stdout.buffer, + 'utf_8', errors='backslashreplace') + var_pattern = args[0].split() # Filter invalid variable names that are not supported by bash.