summaryrefslogtreecommitdiffstats
path: root/src/engine/SCons
diff options
context:
space:
mode:
authorWilliam Deegan <bill@baddogconsulting.com>2020-01-10 00:33:06 (GMT)
committerWilliam Deegan <bill@baddogconsulting.com>2020-01-10 00:33:06 (GMT)
commitc5531583f832b59c7d5ec0af682e33e04ef7ff4a (patch)
tree694817f891faa7c944ca8fc3763c290650731103 /src/engine/SCons
parent5342e2bb1ff3548fe08e05247f6b4bcf5e351ce4 (diff)
downloadSCons-c5531583f832b59c7d5ec0af682e33e04ef7ff4a.zip
SCons-c5531583f832b59c7d5ec0af682e33e04ef7ff4a.tar.gz
SCons-c5531583f832b59c7d5ec0af682e33e04ef7ff4a.tar.bz2
Remove UnicodeType as py35+ has unicode strings. Remove some py27 imports. Mainly cleanup of Util.py and tests depending on these changes
Diffstat (limited to 'src/engine/SCons')
-rw-r--r--src/engine/SCons/Taskmaster.py2
-rw-r--r--src/engine/SCons/Tool/xgettext.py2
-rw-r--r--src/engine/SCons/Util.py27
-rw-r--r--src/engine/SCons/UtilTests.py31
4 files changed, 10 insertions, 52 deletions
diff --git a/src/engine/SCons/Taskmaster.py b/src/engine/SCons/Taskmaster.py
index 06fc94c..7363915 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(str('\n') + self.trace_message('Looking for a node to evaluate'))
while True:
node = self.next_candidate()
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..8ff7b4f 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,7 +1567,7 @@ del __revision__
def to_bytes(s):
if s is None:
return b'None'
- if not PY3 and isinstance(s, UnicodeType):
+ if not PY3 and isinstance(s, str):
# PY2, must encode unicode
return bytearray(s, 'utf-8')
if isinstance (s, (bytes, bytearray)) or bytes is str:
diff --git a/src/engine/SCons/UtilTests.py b/src/engine/SCons/UtilTests.py
index e2dd57f..870e79f 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,13 +308,11 @@ 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')),
+ self.assertEqual(to_bytes(str('Hello')),
bytearray(u'Hello', 'utf-8'),
"Check that to_bytes creates byte array when presented with unicode string. PY2 only")
@@ -352,18 +337,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='')