massive import cleaning in Distutils

This commit is contained in:
Tarek Ziadé 2009-12-21 01:22:46 +00:00
parent 2421d56e02
commit 2b66da7d15
24 changed files with 97 additions and 121 deletions

View file

@ -13,13 +13,11 @@
__revision__ = "$Id$" __revision__ = "$Id$"
import os import os
from distutils.errors import \
DistutilsExecError, DistutilsPlatformError, \ from distutils.errors import (DistutilsExecError, CompileError, LibError,
CompileError, LibError, LinkError, UnknownFileError LinkError, UnknownFileError)
from distutils.ccompiler import \ from distutils.ccompiler import CCompiler, gen_preprocess_options
CCompiler, gen_preprocess_options, gen_lib_options
from distutils.file_util import write_file from distutils.file_util import write_file
from distutils.dep_util import newer from distutils.dep_util import newer
from distutils import log from distutils import log

View file

@ -5,9 +5,11 @@
__revision__ = "$Id$" __revision__ = "$Id$"
import sys, os, re import sys
from types import * import os
from distutils.errors import * import re
from distutils.errors import CompileError, LinkError, UnknownFileError
from distutils.spawn import spawn from distutils.spawn import spawn
from distutils.file_util import move_file from distutils.file_util import move_file
from distutils.dir_util import mkpath from distutils.dir_util import mkpath
@ -165,7 +167,7 @@ class (via the 'executables' class attribute), but most will have:
# set_executables () # set_executables ()
def set_executable(self, key, value): def set_executable(self, key, value):
if type(value) is StringType: if isinstance(value, str):
setattr(self, key, split_quoted(value)) setattr(self, key, split_quoted(value))
else: else:
setattr(self, key, value) setattr(self, key, value)
@ -187,11 +189,11 @@ def _check_macro_definitions (self, definitions):
nothing if all definitions are OK, raise TypeError otherwise. nothing if all definitions are OK, raise TypeError otherwise.
""" """
for defn in definitions: for defn in definitions:
if not (type (defn) is TupleType and if not (isinstance(defn, tuple) and
(len (defn) == 1 or (len (defn) == 1 or
(len (defn) == 2 and (len (defn) == 2 and
(type (defn[1]) is StringType or defn[1] is None))) and (isinstance(defn[1], str) or defn[1] is None))) and
type (defn[0]) is StringType): isinstance(defn[0], str)):
raise TypeError, \ raise TypeError, \
("invalid macro definition '%s': " % defn) + \ ("invalid macro definition '%s': " % defn) + \
"must be tuple (string,), (string, string), or " + \ "must be tuple (string,), (string, string), or " + \
@ -341,19 +343,19 @@ def _setup_compile(self, outdir, macros, incdirs, sources, depends,
""" """
if outdir is None: if outdir is None:
outdir = self.output_dir outdir = self.output_dir
elif type(outdir) is not StringType: elif not isinstance(outdir, str):
raise TypeError, "'output_dir' must be a string or None" raise TypeError, "'output_dir' must be a string or None"
if macros is None: if macros is None:
macros = self.macros macros = self.macros
elif type(macros) is ListType: elif isinstance(macros, list):
macros = macros + (self.macros or []) macros = macros + (self.macros or [])
else: else:
raise TypeError, "'macros' (if supplied) must be a list of tuples" raise TypeError, "'macros' (if supplied) must be a list of tuples"
if incdirs is None: if incdirs is None:
incdirs = self.include_dirs incdirs = self.include_dirs
elif type(incdirs) in (ListType, TupleType): elif isinstance(incdirs, (list, tuple)):
incdirs = list(incdirs) + (self.include_dirs or []) incdirs = list(incdirs) + (self.include_dirs or [])
else: else:
raise TypeError, \ raise TypeError, \
@ -444,14 +446,14 @@ def _fix_compile_args (self, output_dir, macros, include_dirs):
if macros is None: if macros is None:
macros = self.macros macros = self.macros
elif type (macros) is ListType: elif isinstance(macros, list):
macros = macros + (self.macros or []) macros = macros + (self.macros or [])
else: else:
raise TypeError, "'macros' (if supplied) must be a list of tuples" raise TypeError, "'macros' (if supplied) must be a list of tuples"
if include_dirs is None: if include_dirs is None:
include_dirs = self.include_dirs include_dirs = self.include_dirs
elif type (include_dirs) in (ListType, TupleType): elif isinstance(include_dirs, (list, tuple)):
include_dirs = list (include_dirs) + (self.include_dirs or []) include_dirs = list (include_dirs) + (self.include_dirs or [])
else: else:
raise TypeError, \ raise TypeError, \
@ -517,14 +519,14 @@ def _fix_object_args (self, objects, output_dir):
None, replace with self.output_dir. Return fixed versions of None, replace with self.output_dir. Return fixed versions of
'objects' and 'output_dir'. 'objects' and 'output_dir'.
""" """
if type (objects) not in (ListType, TupleType): if not isinstance(objects, (list, tuple)):
raise TypeError, \ raise TypeError, \
"'objects' must be a list or tuple of strings" "'objects' must be a list or tuple of strings"
objects = list (objects) objects = list (objects)
if output_dir is None: if output_dir is None:
output_dir = self.output_dir output_dir = self.output_dir
elif type (output_dir) is not StringType: elif not isinstance(output_dir, str):
raise TypeError, "'output_dir' must be a string or None" raise TypeError, "'output_dir' must be a string or None"
return (objects, output_dir) return (objects, output_dir)
@ -539,7 +541,7 @@ def _fix_lib_args (self, libraries, library_dirs, runtime_library_dirs):
""" """
if libraries is None: if libraries is None:
libraries = self.libraries libraries = self.libraries
elif type (libraries) in (ListType, TupleType): elif isinstance(libraries, (list, tuple)):
libraries = list (libraries) + (self.libraries or []) libraries = list (libraries) + (self.libraries or [])
else: else:
raise TypeError, \ raise TypeError, \
@ -547,7 +549,7 @@ def _fix_lib_args (self, libraries, library_dirs, runtime_library_dirs):
if library_dirs is None: if library_dirs is None:
library_dirs = self.library_dirs library_dirs = self.library_dirs
elif type (library_dirs) in (ListType, TupleType): elif isinstance(library_dirs, (list, tuple)):
library_dirs = list (library_dirs) + (self.library_dirs or []) library_dirs = list (library_dirs) + (self.library_dirs or [])
else: else:
raise TypeError, \ raise TypeError, \
@ -555,7 +557,7 @@ def _fix_lib_args (self, libraries, library_dirs, runtime_library_dirs):
if runtime_library_dirs is None: if runtime_library_dirs is None:
runtime_library_dirs = self.runtime_library_dirs runtime_library_dirs = self.runtime_library_dirs
elif type (runtime_library_dirs) in (ListType, TupleType): elif isinstance(runtime_library_dirs, (list, tuple)):
runtime_library_dirs = (list (runtime_library_dirs) + runtime_library_dirs = (list (runtime_library_dirs) +
(self.runtime_library_dirs or [])) (self.runtime_library_dirs or []))
else: else:
@ -587,7 +589,7 @@ def detect_language (self, sources):
"""Detect the language of a given file, or list of files. Uses """Detect the language of a given file, or list of files. Uses
language_map, and language_order to do the job. language_map, and language_order to do the job.
""" """
if type(sources) is not ListType: if not isinstance(sources, list):
sources = [sources] sources = [sources]
lang = None lang = None
index = len(self.language_order) index = len(self.language_order)
@ -1194,7 +1196,7 @@ def gen_preprocess_options (macros, include_dirs):
pp_opts = [] pp_opts = []
for macro in macros: for macro in macros:
if not (type (macro) is TupleType and if not (isinstance(macro, tuple) and
1 <= len (macro) <= 2): 1 <= len (macro) <= 2):
raise TypeError, \ raise TypeError, \
("bad macro definition '%s': " + ("bad macro definition '%s': " +

View file

@ -6,9 +6,9 @@
__revision__ = "$Id$" __revision__ = "$Id$"
import os import os
from types import *
from distutils.core import Command from distutils.core import Command
from distutils.errors import * from distutils.errors import DistutilsPlatformError, DistutilsOptionError
from distutils.util import get_platform from distutils.util import get_platform

View file

@ -28,7 +28,6 @@ def __init__(self, *args, **kw):
default, cancel, bitmap=true)""" default, cancel, bitmap=true)"""
Dialog.__init__(self, *args) Dialog.__init__(self, *args)
ruler = self.h - 36 ruler = self.h - 36
bmwidth = 152*ruler/328
#if kw.get("bitmap", True): #if kw.get("bitmap", True):
# self.bitmap("Bitmap", 0, 0, bmwidth, ruler, "PythonWin") # self.bitmap("Bitmap", 0, 0, bmwidth, ruler, "PythonWin")
self.line("BottomLine", 0, ruler, self.w, 0) self.line("BottomLine", 0, ruler, self.w, 0)
@ -420,7 +419,6 @@ def add_ui(self):
# see "Dialog Style Bits" # see "Dialog Style Bits"
modal = 3 # visible | modal modal = 3 # visible | modal
modeless = 1 # visible modeless = 1 # visible
track_disk_space = 32
# UI customization properties # UI customization properties
add_data(db, "Property", add_data(db, "Property",

View file

@ -5,14 +5,15 @@
__revision__ = "$Id$" __revision__ = "$Id$"
import sys, os, string import sys
from types import * import os
import string
from distutils.core import Command from distutils.core import Command
from distutils.debug import DEBUG from distutils.debug import DEBUG
from distutils.util import get_platform
from distutils.file_util import write_file from distutils.file_util import write_file
from distutils.errors import * from distutils.errors import (DistutilsOptionError, DistutilsPlatformError,
from distutils.sysconfig import get_python_version DistutilsFileError, DistutilsExecError)
from distutils import log from distutils import log
class bdist_rpm (Command): class bdist_rpm (Command):
@ -225,7 +226,7 @@ def finalize_package_data (self):
self.distribution.get_contact_email())) self.distribution.get_contact_email()))
self.ensure_string('packager') self.ensure_string('packager')
self.ensure_string_list('doc_files') self.ensure_string_list('doc_files')
if type(self.doc_files) is ListType: if isinstance(self.doc_files, list):
for readme in ('README', 'README.txt'): for readme in ('README', 'README.txt'):
if os.path.exists(readme) and readme not in self.doc_files: if os.path.exists(readme) and readme not in self.doc_files:
self.doc_files.append(readme) self.doc_files.append(readme)
@ -444,7 +445,7 @@ def _make_spec_file(self):
'Obsoletes', 'Obsoletes',
): ):
val = getattr(self, string.lower(field)) val = getattr(self, string.lower(field))
if type(val) is ListType: if isinstance(val, list):
spec_file.append('%s: %s' % (field, string.join(val))) spec_file.append('%s: %s' % (field, string.join(val)))
elif val is not None: elif val is not None:
spec_file.append('%s: %s' % (field, val)) spec_file.append('%s: %s' % (field, val))

View file

@ -5,11 +5,14 @@
__revision__ = "$Id$" __revision__ = "$Id$"
import sys, os, string import sys
import os
import string
from distutils.core import Command from distutils.core import Command
from distutils.util import get_platform from distutils.util import get_platform
from distutils.dir_util import create_tree, remove_tree from distutils.dir_util import remove_tree
from distutils.errors import * from distutils.errors import DistutilsOptionError, DistutilsPlatformError
from distutils.sysconfig import get_python_version from distutils.sysconfig import get_python_version
from distutils import log from distutils import log

View file

@ -18,7 +18,7 @@
import os import os
from distutils.core import Command from distutils.core import Command
from distutils.errors import * from distutils.errors import DistutilsSetupError
from distutils.sysconfig import customize_compiler from distutils.sysconfig import customize_compiler
from distutils import log from distutils import log

View file

@ -10,7 +10,8 @@
from warnings import warn from warnings import warn
from distutils.core import Command from distutils.core import Command
from distutils.errors import * from distutils.errors import (CCompilerError, DistutilsError, CompileError,
DistutilsSetupError, DistutilsPlatformError)
from distutils.sysconfig import customize_compiler, get_python_version from distutils.sysconfig import customize_compiler, get_python_version
from distutils.dep_util import newer_group from distutils.dep_util import newer_group
from distutils.extension import Extension from distutils.extension import Extension

View file

@ -133,7 +133,6 @@ def find_data_files(self, package, src_dir):
def build_package_data(self): def build_package_data(self):
"""Copy data files into build directory""" """Copy data files into build directory"""
lastdir = None
for package, src_dir, build_dir, filenames in self.data_files: for package, src_dir, build_dir, filenames in self.data_files:
for filename in filenames: for filename in filenames:
target = os.path.join(build_dir, filename) target = os.path.join(build_dir, filename)

View file

@ -11,7 +11,8 @@
__revision__ = "$Id$" __revision__ = "$Id$"
import sys, os, re import os
import re
from distutils.core import Command from distutils.core import Command
from distutils.errors import DistutilsExecError from distutils.errors import DistutilsExecError

View file

@ -7,12 +7,13 @@
__revision__ = "$Id$" __revision__ = "$Id$"
import os, string, urllib2, getpass, urlparse import urllib2
import getpass
import urlparse
import StringIO import StringIO
from warnings import warn from warnings import warn
from distutils.core import PyPIRCCommand from distutils.core import PyPIRCCommand
from distutils.errors import *
from distutils import log from distutils import log
class register(PyPIRCCommand): class register(PyPIRCCommand):

View file

@ -4,16 +4,17 @@
__revision__ = "$Id$" __revision__ = "$Id$"
import os, string import os
import string
import sys import sys
from types import *
from glob import glob from glob import glob
from warnings import warn from warnings import warn
from distutils.core import Command from distutils.core import Command
from distutils import dir_util, dep_util, file_util, archive_util from distutils import dir_util, dep_util, file_util, archive_util
from distutils.text_file import TextFile from distutils.text_file import TextFile
from distutils.errors import * from distutils.errors import (DistutilsPlatformError, DistutilsOptionError,
DistutilsTemplateError)
from distutils.filelist import FileList from distutils.filelist import FileList
from distutils import log from distutils import log
from distutils.util import convert_path from distutils.util import convert_path
@ -256,7 +257,7 @@ def add_defaults(self):
standards = [('README', 'README.txt'), self.distribution.script_name] standards = [('README', 'README.txt'), self.distribution.script_name]
for fn in standards: for fn in standards:
if type(fn) is TupleType: if isinstance(fn, tuple):
alts = fn alts = fn
got_it = 0 got_it = 0
for fn in alts: for fn in alts:

View file

@ -1,7 +1,6 @@
"""distutils.command.upload """distutils.command.upload
Implements the Distutils 'upload' subcommand (upload package to PyPI).""" Implements the Distutils 'upload' subcommand (upload package to PyPI)."""
import sys
import os import os
import socket import socket
import platform import platform
@ -9,10 +8,9 @@
from base64 import standard_b64encode from base64 import standard_b64encode
import urlparse import urlparse
import cStringIO as StringIO import cStringIO as StringIO
from ConfigParser import ConfigParser
from hashlib import md5 from hashlib import md5
from distutils.errors import * from distutils.errors import DistutilsOptionError
from distutils.core import PyPIRCCommand from distutils.core import PyPIRCCommand
from distutils.spawn import spawn from distutils.spawn import spawn
from distutils import log from distutils import log

View file

@ -4,7 +4,6 @@
that uses .pypirc in the distutils.command package. that uses .pypirc in the distutils.command package.
""" """
import os import os
import sys
from ConfigParser import ConfigParser from ConfigParser import ConfigParser
from distutils.cmd import Command from distutils.cmd import Command
@ -60,8 +59,6 @@ def _read_pypirc(self):
if os.path.exists(rc): if os.path.exists(rc):
self.announce('Using PyPI login from %s' % rc) self.announce('Using PyPI login from %s' % rc)
repository = self.repository or self.DEFAULT_REPOSITORY repository = self.repository or self.DEFAULT_REPOSITORY
realm = self.realm or self.DEFAULT_REALM
config = ConfigParser() config = ConfigParser()
config.read(rc) config.read(rc)
sections = config.sections() sections = config.sections()

View file

@ -8,10 +8,12 @@
__revision__ = "$Id$" __revision__ = "$Id$"
import sys, os import sys
import os
from distutils.debug import DEBUG from distutils.debug import DEBUG
from distutils.errors import * from distutils.errors import (DistutilsSetupError, DistutilsArgError,
DistutilsError, CCompilerError)
from distutils.util import grok_environment_error from distutils.util import grok_environment_error
# Mainly import these so setup scripts can "from distutils.core import" them. # Mainly import these so setup scripts can "from distutils.core import" them.
@ -168,8 +170,6 @@ class found in 'cmdclass' is used in place of the default, which is
return dist return dist
# setup ()
def run_setup(script_name, script_args=None, stop_after="run"): def run_setup(script_name, script_args=None, stop_after="run"):
"""Run a setup script in a somewhat controlled environment, and """Run a setup script in a somewhat controlled environment, and
@ -235,7 +235,4 @@ def run_setup (script_name, script_args=None, stop_after="run"):
# I wonder if the setup script's namespace -- g and l -- would be of # I wonder if the setup script's namespace -- g and l -- would be of
# any interest to callers? # any interest to callers?
#print "_setup_distribution:", _setup_distribution
return _setup_distribution return _setup_distribution
# run_setup ()

View file

@ -53,11 +53,9 @@
import re import re
from warnings import warn from warnings import warn
from distutils.ccompiler import gen_preprocess_options, gen_lib_options
from distutils.unixccompiler import UnixCCompiler from distutils.unixccompiler import UnixCCompiler
from distutils.file_util import write_file from distutils.file_util import write_file
from distutils.errors import DistutilsExecError, CompileError, UnknownFileError from distutils.errors import DistutilsExecError, CompileError, UnknownFileError
from distutils import log
from distutils.util import get_compiler_versions from distutils.util import get_compiler_versions
def get_msvcr(): def get_msvcr():

View file

@ -4,7 +4,7 @@
__revision__ = "$Id$" __revision__ = "$Id$"
import os, sys import os
from distutils.errors import DistutilsFileError, DistutilsInternalError from distutils.errors import DistutilsFileError, DistutilsInternalError
from distutils import log from distutils import log

View file

@ -14,7 +14,8 @@
except ImportError: except ImportError:
warnings = None warnings = None
from distutils.errors import * from distutils.errors import (DistutilsOptionError, DistutilsArgError,
DistutilsModuleError, DistutilsClassError)
from distutils.fancy_getopt import FancyGetopt, translate_longopt from distutils.fancy_getopt import FancyGetopt, translate_longopt
from distutils.util import check_environ, strtobool, rfc822_escape from distutils.util import check_environ, strtobool, rfc822_escape
from distutils import log from distutils import log

View file

@ -24,11 +24,9 @@
import os, sys, copy import os, sys, copy
from warnings import warn from warnings import warn
from distutils.ccompiler import gen_preprocess_options, gen_lib_options
from distutils.unixccompiler import UnixCCompiler from distutils.unixccompiler import UnixCCompiler
from distutils.file_util import write_file from distutils.file_util import write_file
from distutils.errors import DistutilsExecError, CompileError, UnknownFileError from distutils.errors import DistutilsExecError, CompileError, UnknownFileError
from distutils import log
from distutils.util import get_compiler_versions from distutils.util import get_compiler_versions
class EMXCCompiler (UnixCCompiler): class EMXCCompiler (UnixCCompiler):

View file

@ -6,7 +6,6 @@
__revision__ = "$Id$" __revision__ = "$Id$"
import os import os
import sys
import warnings import warnings
# This class is really only used by the "build_ext" command, so it might # This class is really only used by the "build_ext" command, so it might

View file

@ -10,10 +10,11 @@
__revision__ = "$Id$" __revision__ = "$Id$"
import sys, string, re import sys
from types import * import string
import re
import getopt import getopt
from distutils.errors import * from distutils.errors import DistutilsGetoptError, DistutilsArgError
# Much like command_re in distutils.core, this is close to but not quite # Much like command_re in distutils.core, this is close to but not quite
# the same as a Python NAME -- except, in the spirit of most GNU # the same as a Python NAME -- except, in the spirit of most GNU
@ -117,7 +118,7 @@ def get_attr_name (self, long_option):
def _check_alias_dict (self, aliases, what): def _check_alias_dict (self, aliases, what):
assert type(aliases) is DictionaryType assert isinstance(aliases, dict)
for (alias, opt) in aliases.items(): for (alias, opt) in aliases.items():
if alias not in self.option_index: if alias not in self.option_index:
raise DistutilsGetoptError, \ raise DistutilsGetoptError, \
@ -164,13 +165,13 @@ def _grok_option_table (self):
raise ValueError, "invalid option tuple: %r" % (option,) raise ValueError, "invalid option tuple: %r" % (option,)
# Type- and value-check the option names # Type- and value-check the option names
if type(long) is not StringType or len(long) < 2: if not isinstance(long, str) or len(long) < 2:
raise DistutilsGetoptError, \ raise DistutilsGetoptError, \
("invalid long option '%s': " ("invalid long option '%s': "
"must be a string of length >= 2") % long "must be a string of length >= 2") % long
if (not ((short is None) or if (not ((short is None) or
(type(short) is StringType and len(short) == 1))): (isinstance(short, str) and len(short) == 1))):
raise DistutilsGetoptError, \ raise DistutilsGetoptError, \
("invalid short option '%s': " ("invalid short option '%s': "
"must a single character or None") % short "must a single character or None") % short
@ -464,8 +465,6 @@ def wrap_text (text, width):
return lines return lines
# wrap_text ()
def translate_longopt(opt): def translate_longopt(opt):
"""Convert a long option name to a valid Python identifier by """Convert a long option name to a valid Python identifier by
@ -483,18 +482,3 @@ def __init__ (self, options=[]):
'options' will be initialized to None.""" 'options' will be initialized to None."""
for opt in options: for opt in options:
setattr(self, opt, None) setattr(self, opt, None)
# class OptionDummy
if __name__ == "__main__":
text = """\
Tra-la-la, supercalifragilisticexpialidocious.
How *do* you spell that odd word, anyways?
(Someone ask Mary -- she'll know [or she'll
say, "How should I know?"].)"""
for w in (10, 20, 30, 40):
print "width: %d" % w
print string.join(wrap_text(text, w), "\n")
print

View file

@ -19,10 +19,9 @@
import sys import sys
import re import re
from distutils.errors import DistutilsExecError, DistutilsPlatformError, \ from distutils.errors import (DistutilsExecError, DistutilsPlatformError,
CompileError, LibError, LinkError CompileError, LibError, LinkError)
from distutils.ccompiler import CCompiler, gen_preprocess_options, \ from distutils.ccompiler import CCompiler, gen_lib_options
gen_lib_options
from distutils import log from distutils import log
from distutils.util import get_platform from distutils.util import get_platform

View file

@ -10,12 +10,13 @@
__revision__ = "$Id$" __revision__ = "$Id$"
import sys, os, string import sys
from distutils.errors import \ import os
DistutilsExecError, DistutilsPlatformError, \ import string
CompileError, LibError, LinkError
from distutils.ccompiler import \ from distutils.errors import (DistutilsExecError, DistutilsPlatformError,
CCompiler, gen_preprocess_options, gen_lib_options CompileError, LibError, LinkError)
from distutils.ccompiler import CCompiler, gen_lib_options
from distutils import log from distutils import log
_can_read_reg = 0 _can_read_reg = 0
@ -127,7 +128,7 @@ def load_macros(self, version):
self.set_macro("FrameworkSDKDir", net, "sdkinstallrootv1.1") self.set_macro("FrameworkSDKDir", net, "sdkinstallrootv1.1")
else: else:
self.set_macro("FrameworkSDKDir", net, "sdkinstallroot") self.set_macro("FrameworkSDKDir", net, "sdkinstallroot")
except KeyError, exc: # except KeyError:
raise DistutilsPlatformError, \ raise DistutilsPlatformError, \
("""Python was built with Visual Studio 2003; ("""Python was built with Visual Studio 2003;
extensions must be built with a compiler than can generate compatible binaries. extensions must be built with a compiler than can generate compatible binaries.

View file

@ -6,8 +6,7 @@
__revision__ = "$Id$" __revision__ = "$Id$"
from types import * import sys
import sys, os, string
class TextFile: class TextFile:
@ -137,12 +136,12 @@ def gen_error (self, msg, line=None):
if line is None: if line is None:
line = self.current_line line = self.current_line
outmsg.append(self.filename + ", ") outmsg.append(self.filename + ", ")
if type (line) in (ListType, TupleType): if isinstance(line, (list, tuple)):
outmsg.append("lines %d-%d: " % tuple (line)) outmsg.append("lines %d-%d: " % tuple (line))
else: else:
outmsg.append("line %d: " % line) outmsg.append("line %d: " % line)
outmsg.append(str(msg)) outmsg.append(str(msg))
return string.join(outmsg, "") return ''.join(outmsg)
def error (self, msg, line=None): def error (self, msg, line=None):
@ -196,7 +195,7 @@ def readline (self):
# unescape it (and any other escaped "#"'s that might be # unescape it (and any other escaped "#"'s that might be
# lurking in there) and otherwise leave the line alone. # lurking in there) and otherwise leave the line alone.
pos = string.find (line, "#") pos = line.find("#")
if pos == -1: # no "#" -- no comments if pos == -1: # no "#" -- no comments
pass pass
@ -219,11 +218,11 @@ def readline (self):
# # comment that should be ignored # # comment that should be ignored
# there # there
# result in "hello there". # result in "hello there".
if string.strip(line) == "": if line.strip() == "":
continue continue
else: # it's an escaped "#" else: # it's an escaped "#"
line = string.replace (line, "\\#", "#") line = line.replace("\\#", "#")
# did previous line end with a backslash? then accumulate # did previous line end with a backslash? then accumulate
@ -235,11 +234,11 @@ def readline (self):
return buildup_line return buildup_line
if self.collapse_join: if self.collapse_join:
line = string.lstrip (line) line = line.lstrip()
line = buildup_line + line line = buildup_line + line
# careful: pay attention to line number when incrementing it # careful: pay attention to line number when incrementing it
if type (self.current_line) is ListType: if isinstance(self.current_line, list):
self.current_line[1] = self.current_line[1] + 1 self.current_line[1] = self.current_line[1] + 1
else: else:
self.current_line = [self.current_line, self.current_line = [self.current_line,
@ -250,7 +249,7 @@ def readline (self):
return None return None
# still have to be careful about incrementing the line number! # still have to be careful about incrementing the line number!
if type (self.current_line) is ListType: if isinstance(self.current_line, list):
self.current_line = self.current_line[1] + 1 self.current_line = self.current_line[1] + 1
else: else:
self.current_line = self.current_line + 1 self.current_line = self.current_line + 1
@ -259,11 +258,11 @@ def readline (self):
# strip whitespace however the client wants (leading and # strip whitespace however the client wants (leading and
# trailing, or one or the other, or neither) # trailing, or one or the other, or neither)
if self.lstrip_ws and self.rstrip_ws: if self.lstrip_ws and self.rstrip_ws:
line = string.strip (line) line = line.strip()
elif self.lstrip_ws: elif self.lstrip_ws:
line = string.lstrip (line) line = line.lstrip()
elif self.rstrip_ws: elif self.rstrip_ws:
line = string.rstrip (line) line = line.rstrip()
# blank line (whether we rstrip'ed or not)? skip to next line # blank line (whether we rstrip'ed or not)? skip to next line
# if appropriate # if appropriate