Replace _content_encoding, _fs_encoding, and _merge_encoding with direct
authorZac Medico <zmedico@gentoo.org>
Fri, 21 Aug 2009 04:46:31 +0000 (04:46 -0000)
committerZac Medico <zmedico@gentoo.org>
Fri, 21 Aug 2009 04:46:31 +0000 (04:46 -0000)
usage of _encodings.

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

14 files changed:
pym/portage/__init__.py
pym/portage/_selinux.py
pym/portage/cache/ebuild_xattr.py
pym/portage/checksum.py
pym/portage/env/loaders.py
pym/portage/mail.py
pym/portage/manifest.py
pym/portage/news.py
pym/portage/process.py
pym/portage/sets/files.py
pym/portage/tests/__init__.py
pym/portage/tests/ebuild/test_spawn.py
pym/portage/update.py
pym/portage/xpak.py

index 5fefa505c17a5ab3dd548512dc987fdab2e2fb94..4c6efddb0b953b5a2022ac9c8476ac5cb98b6cdc 100644 (file)
@@ -132,11 +132,6 @@ _encodings = {
 if _encodings['merge'] is None:
        _encodings['merge'] = 'ascii'
 
-# Deprecated attributes. Instead use _encodings directly.
-_content_encoding = _encodings['content']
-_fs_encoding = _encodings['fs']
-_merge_encoding = _encodings['merge']
-
 def _unicode_encode(s, encoding=_encodings['content'],
        errors='backslashreplace'):
        if isinstance(s, unicode):
index 9c0f082993247410796568490a226f507a6bbff7..ca6ec4decd1abcd326ca7337abf09ce89ed0b1dc 100644 (file)
@@ -7,8 +7,7 @@
 import os
 import shutil
 
-from portage import _content_encoding
-from portage import _fs_encoding
+from portage import _encodings
 from portage import _unicode_encode
 from portage.localization import _
 
@@ -16,8 +15,8 @@ import selinux
 from selinux import is_selinux_enabled
 
 def copyfile(src, dest):
-       src = _unicode_encode(src, encoding=_fs_encoding, errors='strict')
-       dest = _unicode_encode(dest, encoding=_fs_encoding, errors='strict')
+       src = _unicode_encode(src, encoding=_encodings['fs'], errors='strict')
+       dest = _unicode_encode(dest, encoding=_encodings['fs'], errors='strict')
        (rc, ctx) = selinux.lgetfilecon(src)
        if rc < 0:
                raise OSError(_("copyfile: Failed getting context of \"%s\".") % src)
@@ -36,8 +35,8 @@ def getcontext():
        return ctx
 
 def mkdir(target, refdir):
-       target = _unicode_encode(target, encoding=_fs_encoding, errors='strict')
-       refdir = _unicode_encode(refdir, encoding=_fs_encoding, errors='strict')
+       target = _unicode_encode(target, encoding=_encodings['fs'], errors='strict')
+       refdir = _unicode_encode(refdir, encoding=_encodings['fs'], errors='strict')
        (rc, ctx) = selinux.getfilecon(refdir)
        if rc < 0:
                raise OSError(
@@ -51,8 +50,8 @@ def mkdir(target, refdir):
                selinux.setfscreatecon()
 
 def rename(src, dest):
-       src = _unicode_encode(src, encoding=_fs_encoding, errors='strict')
-       dest = _unicode_encode(dest, encoding=_fs_encoding, errors='strict')
+       src = _unicode_encode(src, encoding=_encodings['fs'], errors='strict')
+       dest = _unicode_encode(dest, encoding=_encodings['fs'], errors='strict')
        (rc, ctx) = selinux.lgetfilecon(src)
        if rc < 0:
                raise OSError(_("rename: Failed getting context of \"%s\".") % src)
@@ -69,13 +68,13 @@ def settype(newtype):
        return ":".join(ret)
 
 def setexec(ctx="\n"):
-       ctx = _unicode_encode(ctx, encoding=_content_encoding, errors='strict')
+       ctx = _unicode_encode(ctx, encoding=_encodings['content'], errors='strict')
        if selinux.setexeccon(ctx) < 0:
                raise OSError(_("setexec: Failed setting exec() context \"%s\".") % ctx)
 
 def setfscreate(ctx="\n"):
        ctx = _unicode_encode(ctx,
-               encoding=_content_encoding, errors='strict')
+               encoding=_encodings['content'], errors='strict')
        if selinux.setfscreatecon(ctx) < 0:
                raise OSError(
                        _("setfscreate: Failed setting fs create context \"%s\".") % ctx)
@@ -83,7 +82,7 @@ def setfscreate(ctx="\n"):
 def spawn_wrapper(spawn_func, selinux_type):
 
        selinux_type = _unicode_encode(selinux_type,
-               encoding=_content_encoding, errors='strict')
+               encoding=_encodings['content'], errors='strict')
 
        def wrapper_func(*args, **kwargs):
                con = settype(selinux_type)
@@ -96,9 +95,9 @@ def spawn_wrapper(spawn_func, selinux_type):
        return wrapper_func
 
 def symlink(target, link, reflnk):
-       target = _unicode_encode(target, encoding=_fs_encoding, errors='strict')
-       link = _unicode_encode(link, encoding=_fs_encoding, errors='strict')
-       reflnk = _unicode_encode(reflnk, encoding=_fs_encoding, errors='strict')
+       target = _unicode_encode(target, encoding=_encodings['fs'], errors='strict')
+       link = _unicode_encode(link, encoding=_encodings['fs'], errors='strict')
+       reflnk = _unicode_encode(reflnk, encoding=_encodings['fs'], errors='strict')
        (rc, ctx) = selinux.lgetfilecon(reflnk)
        if rc < 0:
                raise OSError(
index bcaf30640e86d7d681651d89ecfe489853ba1dfa..4406b4e77e87888b6fa2165fa05a1a3c439d2a8b 100644 (file)
@@ -10,7 +10,7 @@ from portage.cache import fs_template
 from portage.versions import catsplit
 from portage import cpv_getkey
 from portage import os
-from portage import _fs_encoding
+from portage import _encoding
 from portage import _unicode_decode
 import xattr
 from errno import ENODATA,ENOSPC,E2BIG
@@ -159,7 +159,7 @@ class database(fs_template.FsBased):
                        for file in files:
                                try:
                                        file = _unicode_decode(file,
-                                               encoding=_fs_encoding, errors='strict')
+                                               encoding=_encodings['fs'], errors='strict')
                                except UnicodeDecodeError:
                                        continue
                                if file[-7:] == '.ebuild':
index f871c49ae572dd3ef720ff2805e2a234bcfa2d65..0a67d2dc0caa0943ad91cf74bfbc0336a01f1113 100644 (file)
@@ -7,8 +7,7 @@ import portage
 from portage.const import PRIVATE_PATH,PRELINK_BINARY,HASHING_BLOCKSIZE
 from portage.localization import _
 from portage import os
-from portage import _fs_encoding
-from portage import _merge_encoding
+from portage import _encodings
 from portage import _unicode_encode
 import errno
 import stat
@@ -29,7 +28,7 @@ def _generate_hash_function(hashtype, hashobject, origin="unknown"):
                @return: The hash and size of the data
                """
                f = open(_unicode_encode(filename,
-                       encoding=_fs_encoding, errors='strict'), 'rb')
+                       encoding=_encodings['fs'], errors='strict'), 'rb')
                blocksize = HASHING_BLOCKSIZE
                data = f.read(blocksize)
                size = 0L
@@ -123,7 +122,7 @@ def perform_md5(x, calc_prelink=0):
 
 def _perform_md5_merge(x, **kwargs):
        return perform_md5(_unicode_encode(x,
-               encoding=_merge_encoding, errors='strict'), **kwargs)
+               encoding=_encodings['merge'], errors='strict'), **kwargs)
 
 def perform_all(x, calc_prelink=0):
        mydict = {}
@@ -221,7 +220,7 @@ def perform_checksum(filename, hashname="MD5", calc_prelink=0):
        # Make sure filename is encoded with the correct encoding before
        # it is passed to spawn (for prelink) and/or the hash function.
        filename = _unicode_encode(filename,
-               encoding=_fs_encoding, errors='strict')
+               encoding=_encodings['fs'], errors='strict')
        myfilename = filename
        prelink_tmpfile = None
        try:
index e878ba449c64ce6a3645afb7a2d4415abf1b1570..5ec3a066fb52536fe0ff9ef2dba1c60de4509b3b 100644 (file)
@@ -7,8 +7,7 @@ import codecs
 import errno
 import stat
 from portage import os
-from portage import _content_encoding
-from portage import _fs_encoding
+from portage import _encodings
 from portage import _unicode_decode
 from portage import _unicode_encode
 from portage.localization import _
@@ -57,7 +56,7 @@ def RecursiveFileLoader(filename):
                        for f in files:
                                try:
                                        f = _unicode_decode(f,
-                                               encoding=_fs_encoding, errors='strict')
+                                               encoding=_encodings['fs'], errors='strict')
                                except UnicodeDecodeError:
                                        continue
                                if f[:1] == '.' or f[-1:] == '~':
@@ -152,8 +151,8 @@ class FileLoader(DataLoader):
                for fn in RecursiveFileLoader(self.fname):
                        try:
                                f = codecs.open(_unicode_encode(fn,
-                                       encoding=_fs_encoding, errors='strict'), mode='r',
-                                       encoding=_content_encoding, errors='replace')
+                                       encoding=_encodings['fs'], errors='strict'), mode='r',
+                                       encoding=_encodings['content'], errors='replace')
                        except EnvironmentError, e:
                                if e.errno not in (errno.ENOENT, errno.ESTALE):
                                        raise
index ce2f6760de443e07ce0e0ab5fbd887ad8270d650..26045573926a0b4aa11bd647da0b3569aad4d924 100644 (file)
@@ -13,7 +13,7 @@ import sys
 import time
 
 from portage import os
-from portage import _content_encoding
+from portage import _encodings
 from portage import _unicode_encode
 from portage.localization import _
 import portage
@@ -22,13 +22,13 @@ def create_message(sender, recipient, subject, body, attachments=None):
 
        if sys.hexversion < 0x3000000:
                sender = _unicode_encode(sender,
-                       encoding=_content_encoding, errors='strict')
+                       encoding=_encodings['content'], errors='strict')
                recipient = _unicode_encode(recipient,
-                       encoding=_content_encoding, errors='strict')
+                       encoding=_encodings['content'], errors='strict')
                subject = _unicode_encode(subject,
-                       encoding=_content_encoding, errors='replace')
+                       encoding=_encodings['content'], errors='backslashreplace')
                body = _unicode_encode(body,
-                       encoding=_content_encoding, errors='replace')
+                       encoding=_encodings['content'], errors='backslashreplace')
 
        if attachments == None:
                mymessage = TextMessage(body)
@@ -41,7 +41,8 @@ def create_message(sender, recipient, subject, body, attachments=None):
                        elif isinstance(x, basestring):
                                if sys.hexversion < 0x3000000:
                                        x = _unicode_encode(x,
-                                               encoding=_content_encoding, errors='replace')
+                                               encoding=_encodings['content'],
+                                               errors='backslashreplace')
                                mymessage.attach(TextMessage(x))
                        else:
                                raise portage.exception.PortageException(_("Can't handle type of attachment: %s") % type(x))
@@ -92,17 +93,17 @@ def send_mail(mysettings, message):
 
        if sys.hexversion < 0x3000000:
                myrecipient = _unicode_encode(myrecipient,
-                       encoding=_content_encoding, errors='strict')
+                       encoding=_encodings['content'], errors='strict')
                mymailhost = _unicode_encode(mymailhost,
-                       encoding=_content_encoding, errors='strict')
+                       encoding=_encodings['content'], errors='strict')
                mymailport = _unicode_encode(mymailport,
-                       encoding=_content_encoding, errors='strict')
+                       encoding=_encodings['content'], errors='strict')
                myfrom = _unicode_encode(myfrom,
-                       encoding=_content_encoding, errors='strict')
+                       encoding=_encodings['content'], errors='strict')
                mymailuser = _unicode_encode(mymailuser,
-                       encoding=_content_encoding, errors='strict')
+                       encoding=_encodings['content'], errors='strict')
                mymailpasswd = _unicode_encode(mymailpasswd,
-                       encoding=_content_encoding, errors='strict')
+                       encoding=_encodings['content'], errors='strict')
 
        # user wants to use a sendmail binary instead of smtp
        if mymailhost[0] == os.sep and os.path.exists(mymailhost):
index 4c4cb60b3e70171e858f7d9591086a09606ce8db..25893d759cdfe2cad3a692a7b19aa45391a7f499 100644 (file)
@@ -12,8 +12,7 @@ portage.proxy.lazyimport.lazyimport(globals(),
 )
 
 from portage import os
-from portage import _content_encoding
-from portage import _fs_encoding
+from portage import _encodings
 from portage import _unicode_decode
 from portage import _unicode_encode
 from portage.exception import DigestException, FileNotFound, \
@@ -145,8 +144,8 @@ class Manifest(object):
                   Otherwise, a new dict will be created and returned."""
                try:
                        fd = codecs.open(_unicode_encode(file_path,
-                               encoding=_fs_encoding, errors='strict'), mode='r',
-                               encoding=_content_encoding, errors='replace')
+                               encoding=_encodings['fs'], errors='strict'), mode='r',
+                               encoding=_encodings['repo.content'], errors='replace')
                        if myhashdict is None:
                                myhashdict = {}
                        self._parseDigests(fd, myhashdict=myhashdict, **kwargs)
@@ -233,8 +232,9 @@ class Manifest(object):
                        if not force:
                                try:
                                        f = codecs.open(_unicode_encode(self.getFullname(),
-                                               encoding=_fs_encoding, errors='strict'),
-                                               mode='r', encoding=_content_encoding, errors='replace')
+                                               encoding=_encodings['fs'], errors='strict'),
+                                               mode='r', encoding=_encodings['repo.content'],
+                                               errors='replace')
                                        oldentries = list(self._parseManifestLines(f))
                                        f.close()
                                        if len(oldentries) == len(myentries):
@@ -327,7 +327,7 @@ class Manifest(object):
                for f in pkgdir_files:
                        try:
                                f = _unicode_decode(f,
-                                       encoding=_fs_encoding, errors='strict')
+                                       encoding=_encodings['fs'], errors='strict')
                        except UnicodeDecodeError:
                                continue
                        if f[:1] == ".":
@@ -362,7 +362,7 @@ class Manifest(object):
                        for f in files:
                                try:
                                        f = _unicode_decode(f,
-                                               encoding=_fs_encoding, errors='strict')
+                                               encoding=_encodings['fs'], errors='strict')
                                except UnicodeDecodeError:
                                        continue
                                full_path = os.path.join(parentdir, f)
@@ -523,8 +523,8 @@ class Manifest(object):
                if not os.path.exists(mfname):
                        return rVal
                myfile = codecs.open(_unicode_encode(mfname,
-                       encoding=_fs_encoding, errors='strict'),
-                       mode='r', encoding=_content_encoding, errors='replace')
+                       encoding=_encodings['fs'], errors='strict'),
+                       mode='r', encoding=_encodings['repo.content'], errors='replace')
                lines = myfile.readlines()
                myfile.close()
                for l in lines:
index f3482150def91e8b2124177c666b413389abb081..ca608d72250089e4af01a39ac85e1f3ec143d6ec 100644 (file)
@@ -12,8 +12,7 @@ import logging
 import os as _os
 import re
 from portage import os
-from portage import _content_encoding
-from portage import _fs_encoding
+from portage import _encodings
 from portage import _unicode_decode
 from portage import _unicode_encode
 from portage.util import apply_secpass_permissions, ensure_dirs, \
@@ -100,7 +99,7 @@ class NewsManager(object):
                news_dir = self._news_dir(repoid)
                try:
                        news = _os.listdir(_unicode_encode(news_dir,
-                               encoding=_fs_encoding, errors='strict'))
+                               encoding=_encodings['fs'], errors='strict'))
                except OSError:
                        return
 
@@ -120,10 +119,10 @@ class NewsManager(object):
                        for itemid in news:
                                try:
                                        itemid = _unicode_decode(itemid,
-                                               encoding=_fs_encoding, errors='strict')
+                                               encoding=_encodings['fs'], errors='strict')
                                except UnicodeDecodeError:
                                        itemid = _unicode_decode(itemid,
-                                               encoding=_fs_encoding, errors='replace')
+                                               encoding=_encodings['fs'], errors='replace')
                                        writemsg_level(
                                                "!!! Invalid encoding in news item name: '%s'\n" % \
                                                itemid, level=logging.ERROR, noiselevel=-1)
@@ -253,8 +252,9 @@ class NewsItem(object):
 
        def parse(self):
                lines = codecs.open(_unicode_encode(self.path,
-                       encoding=_fs_encoding, errors='strict'),
-                       mode='r', encoding=_content_encoding, errors='replace').readlines()
+                       encoding=_encodings['fs'], errors='strict'),
+                       mode='r', encoding=_encodings['content'], errors='replace'
+                       ).readlines()
                self.restrictions = {}
                invalids = []
                for i, line in enumerate(lines):
index 1b584688387a79be14b74d52ba0c19e5047037da..1822a3082ef25931c840f22281b29be85e038ed2 100644 (file)
@@ -10,7 +10,7 @@ import sys
 import traceback
 
 from portage import os
-from portage import _content_encoding
+from portage import _encodings
 from portage import _unicode_encode
 import portage
 portage.proxy.lazyimport.lazyimport(globals(),
@@ -184,8 +184,8 @@ def spawn(mycommand, env={}, opt_name=None, fd_pipes=None, returnpid=False,
        # Avoid a potential UnicodeEncodeError from os.execve().
        env_bytes = {}
        for k, v in env.iteritems():
-               env_bytes[_unicode_encode(k, encoding=_content_encoding)] = \
-                       _unicode_encode(v, encoding=_content_encoding)
+               env_bytes[_unicode_encode(k, encoding=_encodings['content'])] = \
+                       _unicode_encode(v, encoding=_encodings['content'])
        env = env_bytes
        del env_bytes
 
index 035c2dc999e7208d562348953b5756bcd472451d..64e36802ea7a1c6b1c22a57ed39cd666308bd936 100644 (file)
@@ -7,7 +7,7 @@ import re
 from itertools import chain
 
 from portage import os
-from portage import _fs_encoding
+from portage import _encodings
 from portage import _unicode_decode
 from portage import _unicode_encode
 from portage.util import grabfile, write_atomic, ensure_dirs, normalize_path
@@ -131,16 +131,16 @@ class StaticFileSet(EditablePackageSet):
 
                try:
                        directory = _unicode_decode(directory,
-                               encoding=_fs_encoding, errors='strict')
+                               encoding=_encodings['fs'], errors='strict')
                        # Now verify that we can also encode it.
                        _unicode_encode(directory,
-                               encoding=_fs_encoding, errors='strict')
+                               encoding=_encodings['fs'], errors='strict')
                except UnicodeError:
                        directory = _unicode_decode(directory,
-                               encoding=_fs_encoding, errors='replace')
+                               encoding=_encodings['fs'], errors='replace')
                        raise SetConfigError(
                                _("Directory path contains invalid character(s) for encoding '%s': '%s'") \
-                               % (_fs_encoding, directory))
+                               % (_encodings['fs'], directory))
 
                if os.path.isdir(directory):
                        directory = normalize_path(directory)
@@ -148,7 +148,7 @@ class StaticFileSet(EditablePackageSet):
                        for parent, dirs, files in os.walk(directory):
                                try:
                                        parent = _unicode_decode(parent,
-                                               encoding=_fs_encoding, errors='strict')
+                                               encoding=_encodings['fs'], errors='strict')
                                except UnicodeDecodeError:
                                        continue
                                for d in dirs[:]:
@@ -157,7 +157,7 @@ class StaticFileSet(EditablePackageSet):
                                for filename in files:
                                        try:
                                                filename = _unicode_decode(filename,
-                                                       encoding=_fs_encoding, errors='strict')
+                                                       encoding=_encodings['fs'], errors='strict')
                                        except UnicodeDecodeError:
                                                continue
                                        if filename[:1] == '.':
index 4a5ced8a35b8dbbd60f1ed31f03907f0185f9787..6e7380409949f55673635859470655c5d5ba6654 100644 (file)
@@ -8,16 +8,16 @@ import time
 import unittest
 
 from portage import os
-from portage import _fs_encoding
+from portage import _encodings
 from portage import _unicode_encode
 from portage import _unicode_decode
 
 def main():
 
        TEST_FILE = _unicode_encode('__test__',
-               encoding=_fs_encoding, errors='strict')
+               encoding=_encodings['fs'], errors='strict')
        svn_dirname = _unicode_encode('.svn',
-               encoding=_fs_encoding, errors='strict')
+               encoding=_encodings['fs'], errors='strict')
        suite = unittest.TestSuite()
        basedir = os.path.dirname(os.path.realpath(__file__))
        testDirs = []
@@ -30,7 +30,7 @@ def main():
                        dirs.remove(svn_dirname)
                try:
                        root = _unicode_decode(root,
-                               encoding=_fs_encoding, errors='strict')
+                               encoding=_encodings['fs'], errors='strict')
                except UnicodeDecodeError:
                        continue
 
index 908fce6061e0e2f91dc1ddcc04161fb8987d44d4..97a5f42d0aa9385400b2e648cb329ad327dffcdb 100644 (file)
@@ -6,8 +6,7 @@ import codecs
 import errno
 import sys
 from portage import os
-from portage import _content_encoding
-from portage import _fs_encoding
+from portage import _encodings
 from portage import _unicode_encode
 from portage.tests import TestCase
 
@@ -34,8 +33,8 @@ class SpawnTestCase(TestCase):
                                free=1, fd_pipes={0:sys.stdin.fileno(), 1:null_fd, 2:null_fd})
                        os.close(null_fd)
                        f = codecs.open(_unicode_encode(logfile,
-                               encoding=_fs_encoding, errors='strict'),
-                               mode='r', encoding=_content_encoding, errors='strict')
+                               encoding=_encodings['fs'], errors='strict'),
+                               mode='r', encoding=_encodings['content'], errors='strict')
                        log_content = f.read()
                        f.close()
                        # When logging passes through a pty, this comparison will fail
index d38ddf942ce60211538f320f604869b7d24505bf..ca67370cd2680d08dba971d11a2a856f26cf2be9 100644 (file)
@@ -8,8 +8,7 @@ import re
 import sys
 
 from portage import os
-from portage import _content_encoding
-from portage import _fs_encoding
+from portage import _encodings
 from portage import _unicode_decode
 from portage import _unicode_encode
 import portage
@@ -72,8 +71,8 @@ def fixdbentries(update_iter, dbdir):
        for myfile in [f for f in os.listdir(dbdir) if f not in ignored_dbentries]:
                file_path = os.path.join(dbdir, myfile)
                mydata[myfile] = codecs.open(_unicode_encode(file_path,
-                       encoding=_fs_encoding, errors='strict'),
-                       mode='r', encoding=_content_encoding,
+                       encoding=_encodings['fs'], errors='strict'),
+                       mode='r', encoding=_encodings['repo.content'],
                        errors='replace').read()
        updated_items = update_dbentries(update_iter, mydata)
        for myfile, mycontent in updated_items.iteritems():
@@ -110,8 +109,9 @@ def grab_updates(updpath, prev_mtimes=None):
                if file_path not in prev_mtimes or \
                long(prev_mtimes[file_path]) != long(mystat.st_mtime):
                        content = codecs.open(_unicode_encode(file_path,
-                               encoding=_fs_encoding, errors='strict'),
-                               mode='r', encoding=_content_encoding, errors='replace').read()
+                               encoding=_encodings['fs'], errors='strict'),
+                               mode='r', encoding=_encodings['repo.content'], errors='replace'
+                               ).read()
                        update_data.append((file_path, mystat, content))
        return update_data
 
@@ -172,7 +172,7 @@ def update_config_files(config_root, protect, protect_mask, update_iter):
                                for y in dirs:
                                        try:
                                                y = _unicode_decode(y,
-                                                       encoding=_fs_encoding, errors='strict')
+                                                       encoding=_encodings['fs'], errors='strict')
                                        except UnicodeDecodeError:
                                                dirs.remove(y)
                                                continue
@@ -181,7 +181,7 @@ def update_config_files(config_root, protect, protect_mask, update_iter):
                                for y in files:
                                        try:
                                                y = _unicode_decode(y,
-                                                       encoding=_fs_encoding, errors='strict')
+                                                       encoding=_encodings['fs'], errors='strict')
                                        except UnicodeDecodeError:
                                                continue
                                        if y.startswith("."):
@@ -195,8 +195,8 @@ def update_config_files(config_root, protect, protect_mask, update_iter):
                try:
                        file_contents[x] = codecs.open(
                                _unicode_encode(os.path.join(abs_user_config, x),
-                               encoding=_fs_encoding, errors='strict'),
-                               mode='r', encoding=_content_encoding,
+                               encoding=_encodings['fs'], errors='strict'),
+                               mode='r', encoding=_encodings['content'],
                                errors='replace').readlines()
                except IOError:
                        if file_contents.has_key(x):
index da68af59c476578c548d785f0b249e3aa2c4f648..5b08c0a3f8284043e0eddb240314ec0120bbddbf 100644 (file)
@@ -22,7 +22,7 @@ import shutil
 
 from portage import os
 from portage import normalize_path
-from portage import _fs_encoding
+from portage import _encodings
 from portage import _unicode_decode
 from portage import _unicode_encode
 
@@ -30,23 +30,24 @@ def addtolist(mylist, curdir):
        """(list, dir) --- Takes an array(list) and appends all files from dir down
        the directory tree. Returns nothing. list is modified."""
        curdir = normalize_path(_unicode_decode(curdir,
-               encoding=_fs_encoding, errors='strict'))
+               encoding=_encodings['fs'], errors='strict'))
        for parent, dirs, files in os.walk(curdir):
 
                parent = _unicode_decode(parent,
-                       encoding=_fs_encoding, errors='strict')
+                       encoding=_encodings['fs'], errors='strict')
                if parent != curdir:
                        mylist.append(parent[len(curdir) + 1:] + os.sep)
 
                for x in dirs:
                        try:
-                               _unicode_decode(x, encoding=_fs_encoding, errors='strict')
+                               _unicode_decode(x, encoding=_encodings['fs'], errors='strict')
                        except UnicodeDecodeError:
                                dirs.remove(x)
 
                for x in files:
                        try:
-                               x = _unicode_decode(x, encoding=_fs_encoding, errors='strict')
+                               x = _unicode_decode(x,
+                                       encoding=_encodings['fs'], errors='strict')
                        except UnicodeDecodeError:
                                continue
                        mylist.append(os.path.join(parent, x)[len(curdir) + 1:])
@@ -82,13 +83,13 @@ def xpak(rootdir,outfile=None):
        mylist.sort()
        mydata = {}
        for x in mylist:
-               x = _unicode_encode(x, encoding=_fs_encoding, errors='strict')
+               x = _unicode_encode(x, encoding=_encodings['fs'], errors='strict')
                mydata[x] = open(os.path.join(rootdir, x), 'rb').read()
 
        xpak_segment = xpak_mem(mydata)
        if outfile:
                outf = open(_unicode_encode(outfile,
-                       encoding=_fs_encoding, errors='strict'), 'wb')
+                       encoding=_encodings['fs'], errors='strict'), 'wb')
                outf.write(xpak_segment)
                outf.close()
        else:
@@ -118,9 +119,9 @@ def xsplit(infile):
        'infile.index' contains the index segment.
        'infile.dat' contails the data segment."""
        infile = _unicode_decode(infile,
-               encoding=_fs_encoding, errors='strict')
+               encoding=_encodings['fs'], errors='strict')
        myfile = open(_unicode_encode(infile,
-               encoding=_fs_encoding, errors='strict'), 'rb')
+               encoding=_encodings['fs'], errors='strict'), 'rb')
        mydat=myfile.read()
        myfile.close()
        
@@ -129,11 +130,11 @@ def xsplit(infile):
                return False
        
        myfile = open(_unicode_encode(infile + '.index',
-               encoding=_fs_encoding, errors='strict'), 'wb')
+               encoding=_encodings['fs'], errors='strict'), 'wb')
        myfile.write(splits[0])
        myfile.close()
        myfile = open(_unicode_encode(infile + '.dat',
-               encoding=_fs_encoding, errors='strict'), 'wb')
+               encoding=_encodings['fs'], errors='strict'), 'wb')
        myfile.write(splits[1])
        myfile.close()
        return True
@@ -149,7 +150,7 @@ def xsplit_mem(mydat):
 def getindex(infile):
        """(infile) -- grabs the index segment from the infile and returns it."""
        myfile = open(_unicode_encode(infile,
-               encoding=_fs_encoding, errors='strict'), 'rb')
+               encoding=_encodings['fs'], errors='strict'), 'rb')
        myheader=myfile.read(16)
        if myheader[0:8] != _unicode_encode('XPAKPACK'):
                myfile.close()
@@ -163,7 +164,7 @@ def getboth(infile):
        """(infile) -- grabs the index and data segments from the infile.
        Returns an array [indexSegment,dataSegment]"""
        myfile = open(_unicode_encode(infile,
-               encoding=_fs_encoding, errors='strict'), 'rb')
+               encoding=_encodings['fs'], errors='strict'), 'rb')
        myheader=myfile.read(16)
        if myheader[0:8] != _unicode_encode('XPAKPACK'):
                myfile.close()
@@ -238,7 +239,7 @@ def xpand(myid,mydest):
                        if not os.path.exists(dirname):
                                os.makedirs(dirname)
                mydat = open(_unicode_encode(myname,
-                       encoding=_fs_encoding, errors='strict'), 'wb')
+                       encoding=_encodings['fs'], errors='strict'), 'wb')
                mydat.write(mydata[datapos:datapos+datalen])
                mydat.close()
                startpos=startpos+namelen+12
@@ -284,7 +285,7 @@ class tbz2(object):
        def recompose_mem(self, xpdata):
                self.scan() # Don't care about condition... We'll rewrite the data anyway.
                myfile = open(_unicode_encode(self.file,
-                       encoding=_fs_encoding, errors='strict'), 'ab+')
+                       encoding=_encodings['fs'], errors='strict'), 'ab+')
                if not myfile:
                        raise IOError
                myfile.seek(-self.xpaksize,2) # 0,2 or -0,2 just mean EOF.
@@ -322,7 +323,7 @@ class tbz2(object):
                                        return 1
                        self.filestat=mystat
                        a = open(_unicode_encode(self.file,
-                               encoding=_fs_encoding, errors='strict'), 'rb')
+                               encoding=_encodings['fs'], errors='strict'), 'rb')
                        a.seek(-16,2)
                        trailer=a.read()
                        self.infosize=0
@@ -366,7 +367,7 @@ class tbz2(object):
                if not myresult:
                        return mydefault
                a = open(_unicode_encode(self.file,
-                       encoding=_fs_encoding, errors='strict'), 'rb')
+                       encoding=_encodings['fs'], errors='strict'), 'rb')
                a.seek(self.datapos+myresult[0],0)
                myreturn=a.read(myresult[1])
                a.close()
@@ -391,7 +392,7 @@ class tbz2(object):
                        os.chdir("/")
                        origdir="/"
                a = open(_unicode_encode(self.file,
-                       encoding=_fs_encoding, errors='strict'), 'rb')
+                       encoding=_encodings['fs'], errors='strict'), 'rb')
                if not os.path.exists(mydest):
                        os.makedirs(mydest)
                os.chdir(mydest)
@@ -406,7 +407,7 @@ class tbz2(object):
                                if not os.path.exists(dirname):
                                        os.makedirs(dirname)
                        mydat = open(_unicode_encode(myname,
-                               encoding=_fs_encoding, errors='strict'), 'wb')
+                               encoding=_encodings['fs'], errors='strict'), 'wb')
                        a.seek(self.datapos+datapos)
                        mydat.write(a.read(datalen))
                        mydat.close()
@@ -420,7 +421,7 @@ class tbz2(object):
                if not self.scan():
                        return 0
                a = open(_unicode_encode(self.file,
-                       encoding=_fs_encoding, errors='strict'), 'rb')
+                       encoding=_encodings['fs'], errors='strict'), 'rb')
                mydata = {}
                startpos=0
                while ((startpos+8)<self.indexsize):
@@ -440,7 +441,7 @@ class tbz2(object):
                        return None
 
                a = open(_unicode_encode(self.file,
-                       encoding=_fs_encoding, errors='strict'), 'rb')
+                       encoding=_encodings['fs'], errors='strict'), 'rb')
                a.seek(self.datapos)
                mydata =a.read(self.datasize)
                a.close()