summaryrefslogtreecommitdiff
path: root/bench
diff options
context:
space:
mode:
Diffstat (limited to 'bench')
-rw-r--r--bench/is_types.py20
1 files changed, 11 insertions, 9 deletions
diff --git a/bench/is_types.py b/bench/is_types.py
index 0353dc8a..b47c3812 100644
--- a/bench/is_types.py
+++ b/bench/is_types.py
@@ -5,9 +5,13 @@
# src/engine/SCons/Util.py.
import types
-from UserDict import UserDict
-from UserList import UserList
-from UserString import UserString
+try:
+ from collections import UserDict, UserList, UserString
+except ImportError:
+ # No 'collections' module or no UserFoo in collections
+ exec('from UserDict import UserDict')
+ exec('from UserList import UserList')
+ exec('from UserString import UserString')
InstanceType = types.InstanceType
DictType = dict
@@ -25,19 +29,17 @@ else:
# User* type.
def original_is_Dict(e):
- return isinstance(e, dict) or isinstance(e, UserDict)
+ return isinstance(e, (dict,UserDict))
def original_is_List(e):
- return isinstance(e, list) or isinstance(e, UserList)
+ return isinstance(e, (list,UserList))
if UnicodeType is not None:
def original_is_String(e):
- return isinstance(e, str) \
- or isinstance(e, unicode) \
- or isinstance(e, UserString)
+ return isinstance(e, (str,unicode,UserString))
else:
def original_is_String(e):
- return isinstance(e, str) or isinstance(e, UserString)
+ return isinstance(e, (str,UserString))