Create portage._merge_encoding and a corresponding _os_merge wrapper that
authorZac Medico <zmedico@gentoo.org>
Thu, 13 Aug 2009 22:17:05 +0000 (22:17 -0000)
committerZac Medico <zmedico@gentoo.org>
Thu, 13 Aug 2009 22:17:05 +0000 (22:17 -0000)
will later be used for all the merge code.

svn path=/main/trunk/; revision=14019

pym/portage/__init__.py

index 92aaea871366baf390d8c9cee2f95eba6f973735..4f2bb42040f82f44f6b5e4b15df9f51b2d063d32 100644 (file)
@@ -196,16 +196,22 @@ class _unicode_module_wrapper(object):
                        result = _unicode_func_wrapper(result, encoding=encoding)
                return result
 
-if sys.hexversion >= 0x3000000:
-       def _unicode_func_wrapper(func):
-               return func
-       def _unicode_module_wrapper(mod):
-               return mod
+# TODO: Change this to sys.getfilesystemencoding() after all of
+# the merge code has been updated to use _merge_encoding.
+_merge_encoding = 'utf_8'
+
+import os as _os
+_os_overrides = {
+       id(_os.fdopen)        : _os.fdopen,
+       id(_os.read)          : _os.read,
+}
+
+os = _unicode_module_wrapper(_os, overrides=_os_overrides)
+_os_merge = _unicode_module_wrapper(_os,
+       encoding=_merge_encoding, overrides=_os_overrides)
 
-import os
-os = _unicode_module_wrapper(os, overrides={id(os.read):os.read})
-import shutil
-shutil = _unicode_module_wrapper(shutil)
+import shutil as _shutil
+shutil = _unicode_module_wrapper(_shutil)
 
 # Imports below this point rely on the above unicode wrapper definitions.