summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Varner <fuzzyray@gentoo.org>2016-06-30 18:09:52 -0500
committerPaul Varner <fuzzyray@gentoo.org>2016-06-30 18:30:54 -0500
commit51f3cf18de49ca9dffc34053da53e62930be9fab (patch)
tree2357f76caec95597a9955d88526c262c29835b9d /pym/gentoolkit/revdep_rebuild
parentequery: Change option --ignore-linguas to --ignore-l10n (diff)
downloadgentoolkit-51f3cf18de49ca9dffc34053da53e62930be9fab.tar.gz
gentoolkit-51f3cf18de49ca9dffc34053da53e62930be9fab.tar.bz2
gentoolkit-51f3cf18de49ca9dffc34053da53e62930be9fab.zip
Change open function to use UTF-8 encoding for content.
Uses io.open for Python 2 and built-in open for Python 3 All data from files is treated as Unicode and this should fix most UnicodeDecodeErrors.
Diffstat (limited to 'pym/gentoolkit/revdep_rebuild')
-rw-r--r--pym/gentoolkit/revdep_rebuild/analyse.py6
-rw-r--r--pym/gentoolkit/revdep_rebuild/cache.py13
-rw-r--r--pym/gentoolkit/revdep_rebuild/collect.py8
-rw-r--r--pym/gentoolkit/revdep_rebuild/settings.py4
4 files changed, 23 insertions, 8 deletions
diff --git a/pym/gentoolkit/revdep_rebuild/analyse.py b/pym/gentoolkit/revdep_rebuild/analyse.py
index 59240b4..9f018b5 100644
--- a/pym/gentoolkit/revdep_rebuild/analyse.py
+++ b/pym/gentoolkit/revdep_rebuild/analyse.py
@@ -7,6 +7,9 @@ from __future__ import print_function
import os
import re
import time
+import sys
+if sys.hexversion < 0x3000000:
+ from io import open
from portage import _encodings, _unicode_decode, _unicode_encode
from portage.output import bold, blue, yellow, green
@@ -83,7 +86,8 @@ def extract_dependencies_from_la(la, libraries, to_check, logger):
if not os.path.exists(_file):
continue
- for line in open(_unicode_encode(_file, encoding=_encodings['fs']), mode='r').readlines():
+ for line in open(_unicode_encode(_file, encoding=_encodings['fs']), mode='r',
+ encoding=_encodings['content']).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 6d1a1a3..7359d05 100644
--- a/pym/gentoolkit/revdep_rebuild/cache.py
+++ b/pym/gentoolkit/revdep_rebuild/cache.py
@@ -7,6 +7,9 @@ from __future__ import print_function
import os
import time
+import sys
+if sys.hexversion < 0x3000000:
+ from io import open
from portage import _encodings, _unicode_decode, _unicode_encode
from portage.output import red
@@ -31,7 +34,7 @@ def read_cache(temp_path=DEFAULTS['DEFAULT_TMP_DIR']):
try:
for key,val in ret.items():
_file = open(_unicode_encode(os.path.join(temp_path, key),
- encoding=_encodings['fs']))
+ encoding=_encodings['fs']), encoding=_encodings['content'])
for line in _file.readlines():
val.add(line.strip())
#libraries.remove('\n')
@@ -55,13 +58,14 @@ def save_cache(logger, to_save={}, temp_path=DEFAULTS['DEFAULT_TMP_DIR']):
try:
_file = open(_unicode_encode(os.path.join(temp_path, 'timestamp'),
- encoding=_encodings['fs']), mode='w')
+ encoding=_encodings['fs']), mode='w', encoding=_encodings['content'])
_file.write(str(int(time.time())))
_file.close()
for key,val in to_save.items():
_file = open(_unicode_encode(os.path.join(temp_path, key),
- encoding=_encodings['fs']), mode='w')
+ encoding=_encodings['fs']), mode='w',
+ encoding=_encodings['content'])
for line in val:
_file.write(line + '\n')
_file.close()
@@ -89,7 +93,8 @@ def check_temp_files(temp_path=DEFAULTS['DEFAULT_TMP_DIR'], max_delay=3600,
return False
try:
- _file = open(_unicode_encode(timestamp_path, encoding=_encodings['fs']))
+ _file = open(_unicode_encode(timestamp_path, encoding=_encodings['fs']),
+ encoding=_encodings['content'])
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 1f34f1c..ab3ef97 100644
--- a/pym/gentoolkit/revdep_rebuild/collect.py
+++ b/pym/gentoolkit/revdep_rebuild/collect.py
@@ -9,6 +9,8 @@ import os
import glob
import stat
import sys
+if sys.hexversion < 0x3000000:
+ from io import open
import portage
from portage import _encodings, _unicode_decode, _unicode_encode
@@ -35,7 +37,8 @@ def parse_conf(conf_file, visited=None, logger=None):
for conf in conf_file:
try:
- with open(_unicode_encode(conf, encoding=_encodings['fs'])) as _file:
+ with open(_unicode_encode(conf, encoding=_encodings['fs']),
+ encoding=_encodings['content']) as _file:
for line in _file.readlines():
line = line.strip()
if line.startswith('#'):
@@ -77,7 +80,8 @@ def prepare_search_dirs(logger, settings):
#try:
with open(_unicode_encode(os.path.join(
portage.root, settings['DEFAULT_ENV_FILE']),
- encoding=_encodings['fs']), mode='r') as _file:
+ encoding=_encodings['fs']), mode='r',
+ encoding=_encodings['content']) 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 14f5bc8..589ea29 100644
--- a/pym/gentoolkit/revdep_rebuild/settings.py
+++ b/pym/gentoolkit/revdep_rebuild/settings.py
@@ -7,6 +7,8 @@ from __future__ import print_function
import argparse
import os
import sys
+if sys.hexversion < 0x3000000:
+ from io import open
import re
import glob
@@ -138,7 +140,7 @@ def parse_revdep_config(revdep_confdir):
for _file in os.listdir(revdep_confdir):
for line in open(_unicode_encode(os.path.join(revdep_confdir, _file),
- encoding=_encodings['fs'])):
+ encoding=_encodings['fs']), encoding=_encodings['content']):
line = line.strip()
#first check for comment, we do not want to regex all lines
if not line.startswith('#'):