summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/engine/SCons/CacheDir.py6
-rw-r--r--src/engine/SCons/CacheDirTests.py6
-rw-r--r--src/engine/SCons/Taskmaster.py2
-rw-r--r--src/engine/SCons/Tool/suncxx.py18
-rw-r--r--src/engine/SCons/Tool/textfile.py12
-rw-r--r--src/engine/SCons/Tool/xgettext.py2
-rw-r--r--src/engine/SCons/Util.py36
-rw-r--r--src/engine/SCons/UtilTests.py36
8 files changed, 25 insertions, 93 deletions
diff --git a/src/engine/SCons/CacheDir.py b/src/engine/SCons/CacheDir.py
index 10c088d..9bb7ef3 100644
--- a/src/engine/SCons/CacheDir.py
+++ b/src/engine/SCons/CacheDir.py
@@ -36,7 +36,6 @@ import sys
import SCons
import SCons.Action
import SCons.Warnings
-from SCons.Util import PY3
cache_enabled = True
cache_debug = False
@@ -160,10 +159,7 @@ class CacheDir(object):
if path is None:
return
- if PY3:
- self._readconfig3(path)
- else:
- self._readconfig2(path)
+ self._readconfig3(path)
def _readconfig3(self, path):
diff --git a/src/engine/SCons/CacheDirTests.py b/src/engine/SCons/CacheDirTests.py
index 0e242c4..ff22d01 100644
--- a/src/engine/SCons/CacheDirTests.py
+++ b/src/engine/SCons/CacheDirTests.py
@@ -33,7 +33,6 @@ import stat
from TestCmd import TestCmd
import SCons.CacheDir
-from SCons.Util import PY3
built_it = None
@@ -169,10 +168,7 @@ class ExceptionTestCase(unittest.TestCase):
os.remove(old_config)
try:
- if PY3:
- self._CacheDir._readconfig3(self._CacheDir.path)
- else:
- self._CacheDir._readconfig2(self._CacheDir.path)
+ self._CacheDir._readconfig3(self._CacheDir.path)
assert False, "Should have raised exception and did not"
except SCons.Errors.SConsEnvironmentError as e:
assert str(e) == "Failed to write cache configuration for {}".format(self._CacheDir.path)
diff --git a/src/engine/SCons/Taskmaster.py b/src/engine/SCons/Taskmaster.py
index 06fc94c..1e5776c 100644
--- a/src/engine/SCons/Taskmaster.py
+++ b/src/engine/SCons/Taskmaster.py
@@ -792,7 +792,7 @@ class Taskmaster(object):
self.ready_exc = None
T = self.trace
- if T: T.write(SCons.Util.UnicodeType('\n') + self.trace_message('Looking for a node to evaluate'))
+ if T: T.write('\n' + self.trace_message('Looking for a node to evaluate'))
while True:
node = self.next_candidate()
diff --git a/src/engine/SCons/Tool/suncxx.py b/src/engine/SCons/Tool/suncxx.py
index c155484..1c35612 100644
--- a/src/engine/SCons/Tool/suncxx.py
+++ b/src/engine/SCons/Tool/suncxx.py
@@ -39,7 +39,6 @@ import os
import re
import subprocess
-from SCons.Util import PY3
import SCons.Tool.cxx
cplusplus = SCons.Tool.cxx
# cplusplus = __import__('c++', globals(), locals(), [])
@@ -53,10 +52,7 @@ def get_package_info(package_name, pkginfo, pkgchk):
except KeyError:
version = None
pathname = None
- try:
- from subprocess import DEVNULL # py3k
- except ImportError:
- DEVNULL = open(os.devnull, 'wb')
+ from subprocess import DEVNULL
try:
with open('/var/sadm/install/contents', 'r') as f:
@@ -72,16 +68,14 @@ def get_package_info(package_name, pkginfo, pkgchk):
try:
popen_args = {'stdout': subprocess.PIPE,
'stderr': DEVNULL}
- if PY3:
- popen_args['universal_newlines'] = True
+ popen_args['universal_newlines'] = True
p = subprocess.Popen([pkginfo, '-l', package_name],
**popen_args)
except EnvironmentError:
pass
else:
pkginfo_contents = p.communicate()[0]
- if not PY3:
- pkginfo_contents.decode()
+ pkginfo_contents.decode()
version_re = re.compile(r'^ *VERSION:\s*(.*)$', re.M)
version_match = version_re.search(pkginfo_contents)
if version_match:
@@ -91,16 +85,14 @@ def get_package_info(package_name, pkginfo, pkgchk):
try:
popen_args = {'stdout': subprocess.PIPE,
'stderr': DEVNULL}
- if PY3:
- popen_args['universal_newlines'] = True
+ popen_args['universal_newlines'] = True
p = subprocess.Popen([pkgchk, '-l', package_name],
**popen_args)
except EnvironmentError:
pass
else:
pkgchk_contents = p.communicate()[0]
- if not PY3:
- pkgchk_contents.decode()
+ pkgchk_contents.decode()
pathname_re = re.compile(r'^Pathname:\s*(.*/bin/CC)$', re.M)
pathname_match = pathname_re.search(pkgchk_contents)
if pathname_match:
diff --git a/src/engine/SCons/Tool/textfile.py b/src/engine/SCons/Tool/textfile.py
index 9e2327a..48a2904 100644
--- a/src/engine/SCons/Tool/textfile.py
+++ b/src/engine/SCons/Tool/textfile.py
@@ -53,13 +53,10 @@ import re
from SCons.Node import Node
from SCons.Node.Python import Value
-from SCons.Util import is_String, is_Sequence, is_Dict, to_bytes, PY3
+from SCons.Util import is_String, is_Sequence, is_Dict, to_bytes
-if PY3:
- TEXTFILE_FILE_WRITE_MODE = 'w'
-else:
- TEXTFILE_FILE_WRITE_MODE = 'wb'
+TEXTFILE_FILE_WRITE_MODE = 'w'
LINESEP = '\n'
@@ -126,10 +123,7 @@ def _action(target, source, env):
# write the file
try:
- if SCons.Util.PY3:
- target_file = open(target[0].get_path(), TEXTFILE_FILE_WRITE_MODE, newline='')
- else:
- target_file = open(target[0].get_path(), TEXTFILE_FILE_WRITE_MODE)
+ target_file = open(target[0].get_path(), TEXTFILE_FILE_WRITE_MODE, newline='')
except (OSError, IOError):
raise SCons.Errors.UserError("Can't write target file %s" % target[0])
diff --git a/src/engine/SCons/Tool/xgettext.py b/src/engine/SCons/Tool/xgettext.py
index 11ca32f..7aba08d 100644
--- a/src/engine/SCons/Tool/xgettext.py
+++ b/src/engine/SCons/Tool/xgettext.py
@@ -70,7 +70,7 @@ class _CmdRunner(object):
self.out, self.err = proc.communicate()
self.status = proc.wait()
if self.err:
- sys.stderr.write(SCons.Util.UnicodeType(self.err))
+ sys.stderr.write(str(self.err))
return self.status
def strfunction(self, target, source, env):
diff --git a/src/engine/SCons/Util.py b/src/engine/SCons/Util.py
index d930dde..130cc5e 100644
--- a/src/engine/SCons/Util.py
+++ b/src/engine/SCons/Util.py
@@ -39,18 +39,8 @@ PY3 = sys.version_info[0] == 3
PYPY = hasattr(sys, 'pypy_translation_info')
-try:
- from collections import UserDict, UserList, UserString
-except ImportError:
- from UserDict import UserDict
- from UserList import UserList
- from UserString import UserString
-
-try:
- from collections.abc import Iterable, MappingView
-except ImportError:
- from collections import Iterable
-
+from collections import UserDict, UserList, UserString
+from collections.abc import Iterable, MappingView
from collections import OrderedDict
# Don't "from types import ..." these because we need to get at the
@@ -62,13 +52,6 @@ from collections import OrderedDict
MethodType = types.MethodType
FunctionType = types.FunctionType
-try:
- _ = type(unicode)
-except NameError:
- UnicodeType = str
-else:
- UnicodeType = unicode
-
def dictify(keys, values, result={}):
for k, v in zip(keys, values):
result[k] = v
@@ -210,14 +193,16 @@ def get_environment_var(varstr):
else:
return None
+
class DisplayEngine(object):
print_it = True
+
def __call__(self, text, append_newline=1):
if not self.print_it:
return
if append_newline: text = text + '\n'
try:
- sys.stdout.write(UnicodeType(text))
+ sys.stdout.write(str(text))
except IOError:
# Stdout might be connected to a pipe that has been closed
# by now. The most likely reason for the pipe being closed
@@ -1582,11 +1567,8 @@ del __revision__
def to_bytes(s):
if s is None:
return b'None'
- if not PY3 and isinstance(s, UnicodeType):
- # PY2, must encode unicode
- return bytearray(s, 'utf-8')
- if isinstance (s, (bytes, bytearray)) or bytes is str:
- # Above case not covered here as py2 bytes and strings are the same
+ if isinstance(s, (bytes, bytearray)):
+ # if already bytes return.
return s
return bytes(s, 'utf-8')
@@ -1594,9 +1576,9 @@ def to_bytes(s):
def to_str(s):
if s is None:
return 'None'
- if bytes is str or is_String(s):
+ if is_String(s):
return s
- return str (s, 'utf-8')
+ return str(s, 'utf-8')
def cmp(a, b):
diff --git a/src/engine/SCons/UtilTests.py b/src/engine/SCons/UtilTests.py
index e2dd57f..ee07e61 100644
--- a/src/engine/SCons/UtilTests.py
+++ b/src/engine/SCons/UtilTests.py
@@ -37,14 +37,6 @@ import SCons.Errors
from SCons.Util import *
-try:
- eval('unicode')
-except NameError:
- HasUnicode = False
-else:
- HasUnicode = True
-
-
class OutBuffer(object):
def __init__(self):
self.buffer = ""
@@ -274,8 +266,7 @@ class UtilTestCase(unittest.TestCase):
assert not is_Dict([])
assert not is_Dict(())
assert not is_Dict("")
- if HasUnicode:
- exec ("assert not is_Dict(u'')")
+
def test_is_List(self):
assert is_List([])
@@ -290,13 +281,9 @@ class UtilTestCase(unittest.TestCase):
assert not is_List(())
assert not is_List({})
assert not is_List("")
- if HasUnicode:
- exec ("assert not is_List(u'')")
def test_is_String(self):
assert is_String("")
- if HasUnicode:
- exec ("assert is_String(u'')")
assert is_String(UserString(''))
try:
class mystr(str):
@@ -321,15 +308,12 @@ class UtilTestCase(unittest.TestCase):
assert not is_Tuple([])
assert not is_Tuple({})
assert not is_Tuple("")
- if HasUnicode:
- exec ("assert not is_Tuple(u'')")
def test_to_Bytes(self):
""" Test the to_Bytes method"""
- if not PY3:
- self.assertEqual(to_bytes(UnicodeType('Hello')),
- bytearray(u'Hello', 'utf-8'),
- "Check that to_bytes creates byte array when presented with unicode string. PY2 only")
+ self.assertEqual(to_bytes('Hello'),
+ bytearray('Hello', 'utf-8'),
+ "Check that to_bytes creates byte array when presented with unicode string.")
def test_to_String(self):
"""Test the to_String() method."""
@@ -352,18 +336,6 @@ class UtilTestCase(unittest.TestCase):
assert to_String(s2) == s2, s2
assert to_String(s2) == 'foo', s2
- if HasUnicode:
- s3 = UserString(unicode('bar'))
- assert to_String(s3) == s3, s3
- assert to_String(s3) == unicode('bar'), s3
- assert isinstance(to_String(s3), unicode), \
- type(to_String(s3))
-
- if HasUnicode:
- s4 = unicode('baz')
- assert to_String(s4) == unicode('baz'), to_String(s4)
- assert isinstance(to_String(s4), unicode), \
- type(to_String(s4))
def test_WhereIs(self):
test = TestCmd.TestCmd(workdir='')