1 |
Author: zmedico |
2 |
Date: 2009-08-05 18:07:45 +0000 (Wed, 05 Aug 2009) |
3 |
New Revision: 13921 |
4 |
|
5 |
Modified: |
6 |
main/trunk/pym/portage/__init__.py |
7 |
Log: |
8 |
Bug #280460 - Fix UnicodeDecodeError in env_update() due to non-unicode |
9 |
strings from getconfig(). TODO: Make getconfig() return unicode. |
10 |
|
11 |
|
12 |
Modified: main/trunk/pym/portage/__init__.py |
13 |
=================================================================== |
14 |
--- main/trunk/pym/portage/__init__.py 2009-08-05 17:43:10 UTC (rev 13920) |
15 |
+++ main/trunk/pym/portage/__init__.py 2009-08-05 18:07:45 UTC (rev 13921) |
16 |
@@ -685,6 +685,18 @@ |
17 |
# broken symlink or file removed by a concurrent process |
18 |
writemsg("!!! File Not Found: '%s'\n" % file_path, noiselevel=-1) |
19 |
continue |
20 |
+ |
21 |
+ # TODO: Make getconfig() return unicode. |
22 |
+ unicode_config = {} |
23 |
+ for k, v in myconfig.iteritems(): |
24 |
+ if not isinstance(k, unicode): |
25 |
+ k = unicode(k, encoding='utf8', errors='replace') |
26 |
+ if not isinstance(v, unicode): |
27 |
+ v = unicode(v, encoding='utf8', errors='replace') |
28 |
+ unicode_config[k] = v |
29 |
+ myconfig = unicode_config |
30 |
+ del unicode_config |
31 |
+ |
32 |
config_list.append(myconfig) |
33 |
if "SPACE_SEPARATED" in myconfig: |
34 |
space_separated.update(myconfig["SPACE_SEPARATED"].split()) |