diff options
author | Paul Varner <fuzzyray@gentoo.org> | 2015-11-24 13:07:33 -0600 |
---|---|---|
committer | Paul Varner <fuzzyray@gentoo.org> | 2015-11-24 13:07:33 -0600 |
commit | c9a117bebeb04efcb731e47a12e79c4c8d065896 (patch) | |
tree | 6db392af53510002fce752a07b5c9d79daafddea /pym/gentoolkit/revdep_rebuild | |
parent | Fix spelling error (diff) | |
download | gentoolkit-c9a117bebeb04efcb731e47a12e79c4c8d065896.tar.gz gentoolkit-c9a117bebeb04efcb731e47a12e79c4c8d065896.tar.bz2 gentoolkit-c9a117bebeb04efcb731e47a12e79c4c8d065896.zip |
Change all open() calls to use Unicode.
We are using the following import from portage:
from portage import _encodings, _unicode_decode, _unicode_encode
A generalized call using the definitions from portage looks like:
with open(_unicode_encode(path), encoding=_encodings['fs']) as open_file
The portage code has been in place since 2013 and using the definitions
from portage ensures we maintain compatibility if portage changes.
All portage versions in the tree contain the above code.
Diffstat (limited to 'pym/gentoolkit/revdep_rebuild')
-rw-r--r-- | pym/gentoolkit/revdep_rebuild/analyse.py | 3 | ||||
-rw-r--r-- | pym/gentoolkit/revdep_rebuild/cache.py | 12 | ||||
-rw-r--r-- | pym/gentoolkit/revdep_rebuild/collect.py | 8 | ||||
-rw-r--r-- | pym/gentoolkit/revdep_rebuild/settings.py | 4 |
4 files changed, 18 insertions, 9 deletions
diff --git a/pym/gentoolkit/revdep_rebuild/analyse.py b/pym/gentoolkit/revdep_rebuild/analyse.py index c0e7231..0f89b03 100644 --- a/pym/gentoolkit/revdep_rebuild/analyse.py +++ b/pym/gentoolkit/revdep_rebuild/analyse.py @@ -8,6 +8,7 @@ import os import re import time +from portage import _encodings, _unicode_decode, _unicode_encode from portage.output import bold, blue, yellow, green from .stuff import scan @@ -82,7 +83,7 @@ def extract_dependencies_from_la(la, libraries, to_check, logger): if not os.path.exists(_file): continue - for line in open(_file, 'r').readlines(): + for line in open(_unicode_encode(_file), encoding=_encodings['fs'], mode='r').readlines(): line = line.strip() if line.startswith('dependency_libs='): match = re.match("dependency_libs='([^']+)'", line) diff --git a/pym/gentoolkit/revdep_rebuild/cache.py b/pym/gentoolkit/revdep_rebuild/cache.py index 3d925d8..31ee2c9 100644 --- a/pym/gentoolkit/revdep_rebuild/cache.py +++ b/pym/gentoolkit/revdep_rebuild/cache.py @@ -8,6 +8,7 @@ from __future__ import print_function import os import time +from portage import _encodings, _unicode_decode, _unicode_encode from portage.output import red from .settings import DEFAULTS @@ -29,7 +30,8 @@ def read_cache(temp_path=DEFAULTS['DEFAULT_TMP_DIR']): } try: for key,val in ret.items(): - _file = open(os.path.join(temp_path, key)) + _file = open(_unicode_encode(os.path.join(temp_path, key)), + encoding=_encodings['fs']) for line in _file.readlines(): val.add(line.strip()) #libraries.remove('\n') @@ -52,12 +54,14 @@ def save_cache(logger, to_save={}, temp_path=DEFAULTS['DEFAULT_TMP_DIR']): os.makedirs(temp_path) try: - _file = open(os.path.join(temp_path, 'timestamp'), 'w') + _file = open(_unicode_encode(os.path.join(temp_path, 'timestamp')), + encoding=_encodings['fs'], mode='w') _file.write(str(int(time.time()))) _file.close() for key,val in to_save.items(): - _file = open(os.path.join(temp_path, key), 'w') + _file = open(_unicode_encode(os.path.join(temp_path, key)), + encoding=_encodings['fs'], mode='w') for line in val: _file.write(line + '\n') _file.close() @@ -85,7 +89,7 @@ def check_temp_files(temp_path=DEFAULTS['DEFAULT_TMP_DIR'], max_delay=3600, return False try: - _file = open(timestamp_path) + _file = open(_unicode_encode(timestamp_path), encoding=_encodings['fs']) timestamp = int(_file.readline()) _file .close() except Exception as ex: diff --git a/pym/gentoolkit/revdep_rebuild/collect.py b/pym/gentoolkit/revdep_rebuild/collect.py index 2a431cb..758bcf7 100644 --- a/pym/gentoolkit/revdep_rebuild/collect.py +++ b/pym/gentoolkit/revdep_rebuild/collect.py @@ -11,6 +11,7 @@ import stat import sys import portage +from portage import _encodings, _unicode_decode, _unicode_encode from portage.output import blue, yellow from .settings import parse_revdep_config @@ -34,7 +35,7 @@ def parse_conf(conf_file, visited=None, logger=None): for conf in conf_file: try: - with open(conf) as _file: + with open(_unicode_encode(conf), encoding=_encodings['fs']) as _file: for line in _file.readlines(): line = line.strip() if line.startswith('#'): @@ -74,8 +75,9 @@ def prepare_search_dirs(logger, settings): lib_dirs = set(['/lib', '/usr/lib', ]) #try: - with open(os.path.join( - portage.root, settings['DEFAULT_ENV_FILE']), 'r') as _file: + with open(_unicode_encode(os.path.join( + portage.root, settings['DEFAULT_ENV_FILE'])), + encoding=_encodings['fs'], mode='r') as _file: for line in _file.readlines(): line = line.strip() match = re.match("^export (ROOT)?PATH='([^']+)'", line) diff --git a/pym/gentoolkit/revdep_rebuild/settings.py b/pym/gentoolkit/revdep_rebuild/settings.py index 08220f8..257bd3a 100644 --- a/pym/gentoolkit/revdep_rebuild/settings.py +++ b/pym/gentoolkit/revdep_rebuild/settings.py @@ -11,6 +11,7 @@ import re import glob import portage +from portage import _encodings, _unicode_decode, _unicode_encode DEFAULTS = { 'DEFAULT_LD_FILE': os.path.join(portage.root, 'etc/ld.so.conf'), @@ -136,7 +137,8 @@ def parse_revdep_config(revdep_confdir): masked_files = os.environ.get('LD_LIBRARY_MASK', '') for _file in os.listdir(revdep_confdir): - for line in open(os.path.join(revdep_confdir, _file)): + for line in open(_unicode_encode(os.path.join(revdep_confdir, _file)), + encoding=_encodings['fs']): line = line.strip() #first check for comment, we do not want to regex all lines if not line.startswith('#'): |