Checkpoint. Manipulated things so that string literals are always
unicode, and a few other compensating changes, e.g. str <- unicode,
chr <- unichr, and repr() of a unicode string no longer starts
with 'u'. Lots of unit tests are broken, but some basic things
work, in particular distutils works so the extensions can be built,
and test_builtin.py works.
diff --git a/Lib/distutils/cmd.py b/Lib/distutils/cmd.py
index ebd9931..ea3799a 100644
--- a/Lib/distutils/cmd.py
+++ b/Lib/distutils/cmd.py
@@ -222,7 +222,7 @@
if val is None:
setattr(self, option, default)
return default
- elif type(val) is not StringType:
+ elif not isinstance(val, basestring):
raise DistutilsOptionError, \
"'%s' must be a %s (got `%s`)" % (option, what, val)
return val
@@ -242,12 +242,11 @@
val = getattr(self, option)
if val is None:
return
- elif type(val) is StringType:
+ elif isinstance(val, basestring):
setattr(self, option, re.split(r',\s*|\s+', val))
else:
if type(val) is ListType:
- types = map(type, val)
- ok = (types == [StringType] * len(val))
+ ok = all(isinstance(v, basestring) for v in val)
else:
ok = 0
@@ -421,7 +420,7 @@
# Allow 'infiles' to be a single string
- if type(infiles) is StringType:
+ if isinstance(infiles, basestring):
infiles = (infiles,)
elif type(infiles) not in (ListType, TupleType):
raise TypeError, \