summaryrefslogtreecommitdiffstats
path: root/src/engine/SCons/Util.py
diff options
context:
space:
mode:
authorGary Oberbrunner <garyo@oberbrunner.com>2013-09-22 17:10:51 (GMT)
committerGary Oberbrunner <garyo@oberbrunner.com>2013-09-22 17:10:51 (GMT)
commitb554eb817c60f4e419bbc84efc02c7fbc62b7ced (patch)
tree5d6a8f035bcce302da428d3dd9d26920407a78ee /src/engine/SCons/Util.py
parent953dc41b8b720fdcec7955de67d23206214e5125 (diff)
downloadSCons-b554eb817c60f4e419bbc84efc02c7fbc62b7ced.zip
SCons-b554eb817c60f4e419bbc84efc02c7fbc62b7ced.tar.gz
SCons-b554eb817c60f4e419bbc84efc02c7fbc62b7ced.tar.bz2
Manual python3 post-2to3 fixes from Neal Becker
Diffstat (limited to 'src/engine/SCons/Util.py')
-rw-r--r--src/engine/SCons/Util.py19
1 files changed, 15 insertions, 4 deletions
diff --git a/src/engine/SCons/Util.py b/src/engine/SCons/Util.py
index f2e5325..00fde6c 100644
--- a/src/engine/SCons/Util.py
+++ b/src/engine/SCons/Util.py
@@ -37,7 +37,6 @@ import collections
# Don't "from types import ..." these because we need to get at the
# types module later to look for UnicodeType.
-InstanceType = types.InstanceType
MethodType = types.MethodType
FunctionType = types.FunctionType
try: str
@@ -1370,7 +1369,7 @@ def AddMethod(obj, function, name=None):
setattr(obj, name, MethodType(function, obj, obj.__class__))
else:
# "obj" is a class, so it gets an unbound method.
- setattr(obj, name, MethodType(function, None, obj))
+ setattr(obj, name, function)
def RenameFunction(function, name):
"""
@@ -1402,7 +1401,7 @@ else:
md5 = True
def MD5signature(s):
m = hashlib.md5()
- m.update(str(s))
+ m.update(to_bytes(str(s)))
return m.hexdigest()
def MD5filesignature(fname, chunksize=65536):
@@ -1412,7 +1411,7 @@ else:
blck = f.read(chunksize)
if not blck:
break
- m.update(str(blck))
+ m.update(to_bytes (str(blck)))
f.close()
return m.hexdigest()
@@ -1486,6 +1485,18 @@ class NullSeq(Null):
del __revision__
+def to_bytes (s):
+ if bytes is str:
+ return s
+ else:
+ return bytes (s, 'utf-8')
+
+def to_str (s):
+ if bytes is str:
+ return s
+ else:
+ return str (s, 'utf-8')
+
# Local Variables:
# tab-width:4
# indent-tabs-mode:nil