]> git.ipfire.org Git - thirdparty/Python/cpython.git/commitdiff
Apply diff2.txt from SF patch http://www.python.org/sf/572113
authorWalter Dörwald <walter@livinglogic.de>
Wed, 11 Sep 2002 20:36:02 +0000 (20:36 +0000)
committerWalter Dörwald <walter@livinglogic.de>
Wed, 11 Sep 2002 20:36:02 +0000 (20:36 +0000)
(with one small bugfix in bgen/bgen/scantools.py)

This replaces string module functions with string methods
for the stuff in the Tools directory. Several uses of
string.letters etc. are still remaining.

70 files changed:
Tools/audiopy/audiopy
Tools/bgen/bgen/bgenGenerator.py
Tools/bgen/bgen/bgenOutput.py
Tools/bgen/bgen/scantools.py
Tools/faqwiz/faqwiz.py
Tools/freeze/checkextensions.py
Tools/freeze/checkextensions_win32.py
Tools/freeze/freeze.py
Tools/freeze/makefreeze.py
Tools/freeze/makemakefile.py
Tools/freeze/modulefinder.py
Tools/freeze/parsesetup.py
Tools/freeze/winmakemakefile.py
Tools/idle/AutoIndent.py
Tools/idle/Bindings.py
Tools/idle/CallTips.py
Tools/idle/ClassBrowser.py
Tools/idle/ColorDelegator.py
Tools/idle/EditorWindow.py
Tools/idle/FormatParagraph.py
Tools/idle/GrepDialog.py
Tools/idle/IdleHistory.py
Tools/idle/MultiScrolledLists.py
Tools/idle/OldStackViewer.py
Tools/idle/ParenMatch.py
Tools/idle/PyParse.py
Tools/idle/PyShell.py
Tools/idle/ReplaceDialog.py
Tools/idle/SearchDialogBase.py
Tools/idle/SearchEngine.py
Tools/idle/StackViewer.py
Tools/idle/TreeWidget.py
Tools/idle/UndoDelegator.py
Tools/idle/eventparse.py
Tools/modulator/genmodule.py
Tools/modulator/modulator.py
Tools/modulator/varsubst.py
Tools/scripts/byteyears.py
Tools/scripts/checkappend.py
Tools/scripts/classfix.py
Tools/scripts/cvsfiles.py
Tools/scripts/dutree.py
Tools/scripts/fixcid.py
Tools/scripts/fixheader.py
Tools/scripts/ftpmirror.py
Tools/scripts/gencodec.py
Tools/scripts/ifdef.py
Tools/scripts/logmerge.py
Tools/scripts/mailerdaemon.py
Tools/scripts/methfix.py
Tools/scripts/nm2def.py
Tools/scripts/objgraph.py
Tools/scripts/pathfix.py
Tools/scripts/pdeps.py
Tools/scripts/pindent.py
Tools/scripts/rgrep.py
Tools/scripts/sum5.py
Tools/scripts/trace.py
Tools/scripts/treesync.py
Tools/scripts/untabify.py
Tools/scripts/which.py
Tools/scripts/xxci.py
Tools/unicode/makeunicodedata.py
Tools/versioncheck/checkversions.py
Tools/versioncheck/pyversioncheck.py
Tools/webchecker/tktools.py
Tools/webchecker/wcgui.py
Tools/webchecker/webchecker.py
Tools/webchecker/websucker.py
Tools/webchecker/wsgui.py

index f5a10218d2b16d78488c1ba20c8076de79a7005e..b817c5cc05fca7c53652cd50e01e5c2ad7d8f3e7 100755 (executable)
@@ -47,7 +47,6 @@ Other options are:
 
 import sys
 import os
-import string
 import errno
 import sunaudiodev
 from SUNAUDIODEV import *
@@ -372,9 +371,9 @@ class Helpwin:
                 fp = open(readmefile)
                 contents = fp.read()
                 # wax the last page, it contains Emacs cruft
-                i = string.rfind(contents, '\f')
+                i = contents.rfind('\f')
                 if i > 0:
-                    contents = string.rstrip(contents[:i])
+                    contents = contents[:i].rstrip()
             finally:
                 if fp:
                     fp.close()
index aa3966864ecc5feecea2534daf8ba35e9f1a0b61..1c19388091a50a8d1d4c0d3f2e07dda3b598238d 100644 (file)
@@ -131,7 +131,6 @@ class FunctionGenerator(BaseFunctionGenerator):
                        self.argumentList.append(arg)
        
        def docstring(self):
-               import string
                input = []
                output = []
                for arg in self.argumentList:
@@ -156,11 +155,11 @@ class FunctionGenerator(BaseFunctionGenerator):
                if not input:
                        instr = "()"
                else:
-                       instr = "(%s)" % string.joinfields(input, ", ")
+                       instr = "(%s)" % ", ".join(input)
                if not output or output == ["void"]:
                        outstr = "None"
                else:
-                       outstr = "(%s)" % string.joinfields(output, ", ")
+                       outstr = "(%s)" % ", ".join(output)
                return instr + " -> " + outstr
        
        def functionbody(self):
index a269585560c04c5f0787a4f259bd5cb3a085fab5..c7e560ccea0c86faaf9bdfe00d18e8c838768689 100644 (file)
@@ -69,12 +69,11 @@ def VaOutput(format, args):
        text = format % args
        if _Level > 0:
                indent = '\t' * _Level
-               import string
-               lines = string.splitfields(text, '\n')
+               lines = text.split('\n')
                for i in range(len(lines)):
                        if lines[i] and lines[i][0] != '#':
                                lines[i] = indent + lines[i]
-               text = string.joinfields(lines, '\n')
+               text = '\n'.join(lines)
        _File.write(text + '\n')
 
 def IndentLevel(by = 1):
@@ -168,13 +167,12 @@ def Out(text):
        """
        # (Don't you love using triple quotes *inside* triple quotes? :-)
        
-       import string
-       lines = string.splitfields(text, '\n')
+       lines = text.split('\n')
        indent = ""
        for line in lines:
-               if string.strip(line):
+               if line.strip():
                        for c in line:
-                               if c not in string.whitespace:
+                               if not c.isspace():
                                        break
                                indent = indent + c
                        break
index 205a1ce2f0c8c68d439a150f9d98a65f856127b2..61c2f37581f497173dae5e64e70c25dcffbc7a63 100644 (file)
@@ -15,7 +15,6 @@ although most Mac specific details are contained in header-specific subclasses.
 """
 
 import re
-import string
 import sys
 import os
 import fnmatch
@@ -67,8 +66,8 @@ class Scanner:
                for type in types:
                        modes = self.usedtypes[type].keys()
                        modes.sort()
-                       self.report("%s %s", type, string.join(modes))
-                       
+                       self.report("%s %s", type, " ".join(modes))
+
        def gentypetest(self, file):
                fp = open(file, "w")
                fp.write("types=[\n")
@@ -163,9 +162,9 @@ if missing: raise "Missing Types"
                        while line[-2:] == '\\\n':
                                line = line[:-2] + ' ' + f.readline()
                                lineno = lineno + 1
-                       i = string.find(line, '#')
+                       i = line.find('#')
                        if i >= 0: line = line[:i]
-                       words = map(string.strip, string.splitfields(line, ':'))
+                       words = [s.strip() for s in line.split(':')]
                        if words == ['']: continue
                        if len(words) <> 3:
                                print "Line", startlineno,
@@ -179,8 +178,8 @@ if missing: raise "Missing Types"
                                print "Empty pattern"
                                print `line`
                                continue
-                       patparts = map(string.strip, string.splitfields(pat, ','))
-                       repparts = map(string.strip, string.splitfields(rep, ','))
+                       patparts = [s.strip() for s in pat.split(',')]
+                       repparts = [s.strip() for s in rep.split(',')]
                        patterns = []
                        for p in patparts:
                                if not p:
@@ -188,7 +187,7 @@ if missing: raise "Missing Types"
                                        print "Empty pattern part"
                                        print `line`
                                        continue
-                               pattern = string.split(p)
+                               pattern = p.split()
                                if len(pattern) > 3:
                                        print "Line", startlineno,
                                        print "Pattern part has > 3 words"
@@ -205,7 +204,7 @@ if missing: raise "Missing Types"
                                        print "Empty replacement part"
                                        print `line`
                                        continue
-                               replacement = string.split(p)
+                               replacement = p.split()
                                if len(replacement) > 3:
                                        print "Line", startlineno,
                                        print "Pattern part has > 3 words"
@@ -502,10 +501,10 @@ if missing: raise "Missing Types"
                self.generate(type, name, arglist)
 
        def extractarglist(self, args):
-               args = string.strip(args)
+               args = args.strip()
                if not args or args == "void":
                        return []
-               parts = map(string.strip, string.splitfields(args, ","))
+               parts = [s.strip() for s in args.split(",")]
                arglist = []
                for part in parts:
                        arg = self.extractarg(part)
@@ -524,7 +523,7 @@ if missing: raise "Missing Types"
                        # array matches an optional [] after the argument name
                        type = type + " ptr "
                type = re.sub("\*", " ptr ", type)
-               type = string.strip(type)
+               type = type.strip()
                type = re.sub("[ \t]+", "_", type)
                return self.modifyarg(type, name, mode)
        
@@ -581,7 +580,7 @@ if missing: raise "Missing Types"
                                if item[i] == '*':
                                        newitem[i] = old[k][i]
                                elif item[i][:1] == '$':
-                                       index = string.atoi(item[i][1:]) - 1
+                                       index = int(item[i][1:]) - 1
                                        newitem[i] = old[index][i]
                        new.append(tuple(newitem))
                ##self.report("old: %s", `old`)
index 2e2a8b538e220ac576b31e3c4eb8e8007c43c98b..e91d4dce8790c769aeb27ef3ef05aef8dddae6c5 100644 (file)
@@ -11,7 +11,7 @@ The actual script to place in cgi-bin is faqw.py.
 
 """
 
-import sys, string, time, os, stat, re, cgi, faqconf
+import sys, time, os, stat, re, cgi, faqconf
 from faqconf import *                   # This imports all uppercase names
 now = time.time()
 
@@ -33,14 +33,14 @@ class NoSuchFile(FileError):
         self.why = why
 
 def escape(s):
-    s = string.replace(s, '&', '&amp;')
-    s = string.replace(s, '<', '&lt;')
-    s = string.replace(s, '>', '&gt;')
+    s = s.replace('&', '&amp;')
+    s = s.replace('<', '&lt;')
+    s = s.replace('>', '&gt;')
     return s
 
 def escapeq(s):
     s = escape(s)
-    s = string.replace(s, '"', '&quot;')
+    s = s.replace('"', '&quot;')
     return s
 
 def _interpolate(format, args, kw):
@@ -95,7 +95,7 @@ def translate(text, pre=0):
         list.append(repl)
     j = len(text)
     list.append(escape(text[i:j]))
-    return string.join(list, '')
+    return ''.join(list)
 
 def emphasize(line):
     return re.sub(r'\*([a-zA-Z]+)\*', r'<I>\1</I>', line)
@@ -109,7 +109,7 @@ def revparse(rev):
     m = revparse_prog.match(rev)
     if not m:
         return None
-    [major, minor] = map(string.atoi, m.group(1, 2))
+    [major, minor] = map(int, m.group(1, 2))
     return major, minor
 
 logon = 0
@@ -123,10 +123,10 @@ def load_cookies():
     if not os.environ.has_key('HTTP_COOKIE'):
         return {}
     raw = os.environ['HTTP_COOKIE']
-    words = map(string.strip, string.split(raw, ';'))
+    words = [s.strip() for s in raw.split(';')]
     cookies = {}
     for word in words:
-        i = string.find(word, '=')
+        i = word.find('=')
         if i >= 0:
             key, value = word[:i], word[i+1:]
             cookies[key] = value
@@ -140,10 +140,10 @@ def load_my_cookie():
         return {}
     import urllib
     value = urllib.unquote(value)
-    words = string.split(value, '/')
+    words = value.split('/')
     while len(words) < 3:
         words.append('')
-    author = string.join(words[:-2], '/')
+    author = '/'.join(words[:-2])
     email = words[-2]
     password = words[-1]
     return {'author': author,
@@ -194,7 +194,7 @@ class UserInput:
         except (TypeError, KeyError):
             value = ''
         else:
-            value = string.strip(value)
+            value = value.strip()
         setattr(self, name, value)
         return value
 
@@ -209,7 +209,7 @@ class FaqEntry:
         if fp:
             import rfc822
             self.__headers = rfc822.Message(fp)
-            self.body = string.strip(fp.read())
+            self.body = fp.read().strip()
         else:
             self.__headers = {'title': "%d.%d. " % sec_num}
             self.body = ''
@@ -217,7 +217,7 @@ class FaqEntry:
     def __getattr__(self, name):
         if name[0] == '_':
             raise AttributeError
-        key = string.join(string.split(name, '_'), '-')
+        key = '-'.join(name.split('_'))
         try:
             value = self.__headers[key]
         except KeyError:
@@ -237,7 +237,7 @@ class FaqEntry:
             if not line:
                 break
             if line[:5] == 'head:':
-                version = string.strip(line[5:])
+                version = line[5:].strip()
         p.close()
         self.version = version
 
@@ -262,10 +262,10 @@ class FaqEntry:
         emit(ENTRY_HEADER2, self)
         pre = 0
         raw = 0
-        for line in string.split(self.body, '\n'):
+        for line in self.body.split('\n'):
             # Allow the user to insert raw html into a FAQ answer
             # (Skip Montanaro, with changes by Guido)
-            tag = string.lower(string.rstrip(line))
+            tag = line.rstrip().lower()
             if tag == '<html>':
                 raw = 1
                 continue
@@ -275,14 +275,14 @@ class FaqEntry:
             if raw:
                 print line
                 continue
-            if not string.strip(line):
+            if not line.strip():
                 if pre:
                     print '</PRE>'
                     pre = 0
                 else:
                     print '<P>'
             else:
-                if line[0] not in string.whitespace:
+                if not line[0].isspace():
                     if pre:
                         print '</PRE>'
                         pre = 0
@@ -335,7 +335,7 @@ class FaqDir:
         if not m:
             return None
         sec, num = m.group(1, 2)
-        return string.atoi(sec), string.atoi(num)
+        return int(sec), int(num)
 
     def list(self):
         # XXX Caller shouldn't modify result
@@ -432,7 +432,7 @@ class FaqWizard:
                 return
             words = map(lambda w: r'\b%s\b' % w, words)
             if self.ui.querytype[:3] == 'any':
-                queries = [string.join(words, '|')]
+                queries = ['|'.join(words)]
             else:
                 # Each of the individual queries must match
                 queries = words
@@ -551,7 +551,7 @@ class FaqWizard:
         if not self.ui.days:
             days = 1
         else:
-            days = string.atof(self.ui.days)
+            days = float(self.ui.days)
         try:
             cutoff = now - days * 24 * 3600
         except OverflowError:
@@ -623,7 +623,7 @@ class FaqWizard:
         output = os.popen(command).read()
         sys.stdout.write('<PRE>')
         athead = 0
-        lines = string.split(output, '\n')
+        lines = output.split('\n')
         while lines and not lines[-1]:
             del lines[-1]
         if lines:
@@ -634,7 +634,7 @@ class FaqWizard:
         headrev = None
         for line in lines:
             if entry and athead and line[:9] == 'revision ':
-                rev = string.strip(line[9:])
+                rev = line[9:].split()
                 mami = revparse(rev)
                 if not mami:
                     print line
@@ -690,7 +690,7 @@ class FaqWizard:
         print '</PRE>'
 
     def do_new(self):
-        entry = self.dir.new(section=string.atoi(self.ui.section))
+        entry = self.dir.new(section=int(self.ui.section))
         entry.version = '*new*'
         self.prologue(T_EDIT)
         emit(EDITHEAD)
@@ -723,7 +723,7 @@ class FaqWizard:
             entry = self.dir.open(self.ui.file)
             entry.load_version()
         # Check that the FAQ entry number didn't change
-        if string.split(self.ui.title)[:1] != string.split(entry.title)[:1]:
+        if self.ui.title.split()[:1] != entry.title.split()[:1]:
             self.error("Don't change the entry number please!")
             return
         # Check that the edited version is the current version
@@ -779,7 +779,7 @@ class FaqWizard:
         if '\r' in self.ui.body:
             self.ui.body = re.sub('\r\n?', '\n', self.ui.body)
         # Normalize whitespace in title
-        self.ui.title = string.join(string.split(self.ui.title))
+        self.ui.title = ' '.join(self.ui.title.split())
         # Check that there were any changes
         if self.ui.body == entry.body and self.ui.title == entry.title:
             self.error("You didn't make any changes!")
index 8d597bfae96796edbd3a4345b9cb12651099c6ad..584f8a66dbc941746fbff115ead590bac7d6a819 100644 (file)
@@ -3,7 +3,6 @@
 # and one or more .o files or a lib.a file.
 
 import os
-import string
 import parsesetup
 
 def checkextensions(unknown, extensions):
@@ -44,7 +43,7 @@ def select(e, mods, vars, mod, skipofiles):
                if not w:
                        continue
                w = expandvars(w, vars)
-               for w in string.split(w):
+               for w in w.split():
                        if skipofiles and w[-2:] == '.o':
                                continue
                        # Assume $var expands to absolute pathname
@@ -73,14 +72,14 @@ def treatword(w):
 def expandvars(str, vars):
        i = 0
        while i < len(str):
-               i = k = string.find(str, '$', i)
+               i = k = str.find('$', i)
                if i < 0:
                        break
                i = i+1
                var = str[i:i+1]
                i = i+1
                if var == '(':
-                       j = string.find(str, ')', i)
+                       j = str.find(')', i)
                        if j < 0:
                                break
                        var = str[i:j]
index 85c3a3c0cdd2fc9ebc7267c000f21344f25dfc1d..669a1429464f0c080db6c4b90d184ab156977b58 100644 (file)
@@ -22,7 +22,7 @@ At the moment the name and location of this INI file is hardcoded,
 but an obvious enhancement would be to provide command line options.
 """
 
-import os, string, sys
+import os, sys
 try:
        import win32api
 except ImportError:
@@ -107,12 +107,12 @@ def get_extension_defn(moduleName, mapFileName, prefix):
                module.AddCompilerOption(win32api.ExpandEnvironmentStrings(cl_options))
 
        exclude = win32api.GetProfileVal(moduleName, "exclude", "", mapFileName)
-       exclude = string.split(exclude)
+       exclude = exclude.split()
 
        if win32api.GetProfileVal(moduleName, "Unicode", 0, mapFileName):
                module.AddCompilerOption('/D UNICODE /D _UNICODE')
 
-       libs = string.split(win32api.GetProfileVal(moduleName, "libs", "", mapFileName))
+       libs = win32api.GetProfileVal(moduleName, "libs", "", mapFileName).split()
        for lib in libs:
                module.AddLinkerLib(win32api.ExpandEnvironmentStrings(lib))
 
@@ -135,9 +135,9 @@ def parse_dsp(dsp):
                sys.stderr.write("%s: %s\n" % (dsp, msg))
                return None
        for line in lines:
-               fields = string.split(string.strip(line), "=", 2)
+               fields = line.strip().split("=", 2)
                if fields[0]=="SOURCE":
-                       if string.lower(os.path.splitext(fields[1])[1]) in ['.cpp', '.c']:
+                       if os.path.splitext(fields[1])[1].lower() in ['.cpp', '.c']:
                                ret.append( win32api.GetFullPathName(os.path.join(dsp_path, fields[1] ) ) )
        return ret
 
@@ -148,12 +148,12 @@ def write_extension_table(fname, modules):
                # Write fn protos
                for module in modules:
                        # bit of a hack for .pyd's as part of packages.
-                       name = string.split(module.name,'.')[-1]
+                       name = module.name.split('.')[-1]
                        fp.write('extern void init%s(void);\n' % (name) )
                # Write the table
                fp.write (ext_tab_header)
                for module in modules:
-                       name = string.split(module.name,'.')[-1]
+                       name = module.name.split('.')[-1]
                        fp.write('\t{"%s", init%s},\n' % (name, name) )
 
                fp.write (ext_tab_footer)
index 0b9b20639fc131a1df2cf10c366a1b628b8d6a1c..2c59807733adaceda2beb97e4daf4c079aed0857 100755 (executable)
@@ -91,7 +91,6 @@ if it does, the resulting binary is not self-contained.
 
 import getopt
 import os
-import string
 import sys
 
 
@@ -148,7 +147,7 @@ def main():
         # last option can not be "-i", so this ensures "pos+1" is in range!
         if sys.argv[pos] == '-i':
             try:
-                options = string.split(open(sys.argv[pos+1]).read())
+                options = open(sys.argv[pos+1]).read().split()
             except IOError, why:
                 usage("File name '%s' specified with the -i option "
                       "can not be read - %s" % (sys.argv[pos+1], why) )
@@ -198,9 +197,9 @@ def main():
         if o == '-l':
             addn_link.append(a)
         if o == '-a':
-            apply(modulefinder.AddPackagePath, tuple(string.split(a,"=", 2)))
+            apply(modulefinder.AddPackagePath, tuple(a.split("=", 2)))
         if o == '-r':
-            f,r = string.split(a,"=", 2)
+            f,r = a.split("=", 2)
             replace_paths.append( (f,r) )
 
     # default prefix and exec_prefix
@@ -419,7 +418,7 @@ def main():
     # report unknown modules
     if unknown:
         sys.stderr.write('Warning: unknown modules remain: %s\n' %
-                         string.join(unknown))
+                         ' '.join(unknown))
 
     # windows gets different treatment
     if win:
@@ -462,8 +461,8 @@ def main():
     for key in makevars.keys():
         somevars[key] = makevars[key]
 
-    somevars['CFLAGS'] = string.join(cflags) # override
-    somevars['CPPFLAGS'] = string.join(cppflags) # override
+    somevars['CFLAGS'] = ' '.join(cflags) # override
+    somevars['CPPFLAGS'] = ' '.join(cppflags) # override
     files = [base_config_c, base_frozen_c] + \
             files + supp_sources +  addfiles + libs + \
             ['$(MODLIBS)', '$(LIBS)', '$(SYSLIBS)']
index 38880501124e63611e76f5ed15e28407dd869970..29a6ad6d8d74a7bd14789bc25961e6286231eb16 100644 (file)
@@ -1,5 +1,4 @@
 import marshal
-import string
 import bkfile
 
 
@@ -38,7 +37,7 @@ def makefreeze(base, dict, debug=0, entry_point=None, fail_import=()):
     mods.sort()
     for mod in mods:
         m = dict[mod]
-        mangled = string.join(string.split(mod, "."), "__")
+        mangled = "__".join(mod.split("."))
         if m.__code__:
             file = 'M_' + mangled + '.c'
             outfp = bkfile.open(base + file, 'w')
@@ -88,4 +87,4 @@ def writecode(outfp, mod, str):
 
 ## def writecode(outfp, mod, str):
 ##     outfp.write('unsigned char M_%s[%d] = "%s";\n' % (mod, len(str),
-##     string.join(map(lambda s: `s`[1:-1], string.split(str, '"')), '\\"')))
+##     '\\"'.join(map(lambda s: `s`[1:-1], str.split('"')))))
index e33e32e21e3330bd19ac2a252198317f6e04790c..b8b99b8768454d7c994cfd7c3df7ed4ababfcca2 100644 (file)
@@ -1,7 +1,6 @@
 # Write the actual Makefile.
 
 import os
-import string
 
 def makemakefile(outfp, makevars, files, target):
     outfp.write("# Makefile generated by freeze.py script\n\n")
@@ -23,8 +22,8 @@ def makemakefile(outfp, makevars, files, target):
             files[i] = dest
             deps.append(dest)
 
-    outfp.write("\n%s: %s\n" % (target, string.join(deps)))
+    outfp.write("\n%s: %s\n" % (target, ' '.join(deps)))
     outfp.write("\t$(LINKCC) $(LDFLAGS) $(LINKFORSHARED) %s -o %s $(LDLAST)\n" % 
-                (string.join(files), target))
+                (' '.join(files), target))
 
     outfp.write("\nclean:\n\t-rm -f *.o %s\n" % target)
index 741ef4d9266fc0141c427dadf06bf1dfdb2a2558..e9c1140b71bc7110de65cf30489f7c54e0607b70 100644 (file)
@@ -5,7 +5,6 @@ import imp
 import marshal
 import os
 import re
-import string
 import sys
 import new
 
@@ -150,7 +149,7 @@ class ModuleFinder:
             self.msgout(4, "determine_parent ->", parent)
             return parent
         if '.' in pname:
-            i = string.rfind(pname, '.')
+            i = pname.rfind('.')
             pname = pname[:i]
             parent = self.modules[pname]
             assert parent.__name__ == pname
@@ -162,7 +161,7 @@ class ModuleFinder:
     def find_head_package(self, parent, name):
         self.msgin(4, "find_head_package", parent, name)
         if '.' in name:
-            i = string.find(name, '.')
+            i = name.find('.')
             head = name[:i]
             tail = name[i+1:]
         else:
@@ -190,7 +189,7 @@ class ModuleFinder:
         self.msgin(4, "load_tail", q, tail)
         m = q
         while tail:
-            i = string.find(tail, '.')
+            i = tail.find('.')
             if i < 0: i = len(tail)
             head, tail = tail[:i], tail[i+1:]
             mname = "%s.%s" % (m.__name__, head)
@@ -357,7 +356,7 @@ class ModuleFinder:
 
     def find_module(self, name, path):
         if path:
-            fullname = string.join(path, '.')+'.'+name
+            fullname = '.'.join(path)+'.'+name
         else:
             fullname = name
         if fullname in self.excludes:
@@ -399,7 +398,7 @@ class ModuleFinder:
             if key not in self.excludes:
                 mods = self.badmodules[key].keys()
                 mods.sort()
-                print "?", key, "from", string.join(mods, ', ')
+                print "?", key, "from", ', '.join(mods)
 
     def any_missing(self):
         keys = self.badmodules.keys()
@@ -457,7 +456,7 @@ def test():
         if o == '-m':
             domods = 1
         if o == '-p':
-            addpath = addpath + string.split(a, os.pathsep)
+            addpath = addpath + a.split(os.pathsep)
         if o == '-q':
             debug = 0
         if o == '-x':
index 7a6b72ef770598f570b7ea1a4232147a504788bd..2b9123ea4def91747eaff47a61f176274cc704f9 100644 (file)
@@ -1,7 +1,6 @@
 # Parse Makefiles and Python Setup(.in) files.
 
 import re
-import string
 
 
 # Extract variable definitions from a Makefile.
@@ -29,10 +28,10 @@ def getmakevars(filename):
                                continue
                        (name, value) = matchobj.group(1, 2)
                        # Strip trailing comment
-                       i = string.find(value, '#')
+                       i = value.find('#')
                        if i >= 0:
                                value = value[:i]
-                       value = string.strip(value)
+                       value = value.strip()
                        variables[name] = value
        finally:
                fp.close()
@@ -60,7 +59,7 @@ def getsetupinfo(filename):
                        if not line:
                                break
                        # Strip comments
-                       i = string.find(line, '#')
+                       i = line.find('#')
                        if i >= 0:
                                line = line[:i]
                        if line.endswith('\\\n'):
@@ -69,9 +68,9 @@ def getsetupinfo(filename):
                        matchobj = setupvardef.match(line)
                        if matchobj:
                                (name, value) = matchobj.group(1, 2)
-                               variables[name] = string.strip(value)
+                               variables[name] = value.strip()
                        else:
-                               words = string.split(line)
+                               words = line.split()
                                if words:
                                        modules[words[0]] = words[1:]
        finally:
index d668a6e8273d50e3bc550eab47e6b87377c44377..763e8205c5c741d22437b2ad69498be3aa6ae7ee 100644 (file)
@@ -1,4 +1,4 @@
-import sys, os, string
+import sys, os
 
 # Template used then the program is a GUI program
 WINMAINTEMPLATE = """
@@ -112,7 +112,7 @@ def realwork(vars, moddefns, target):
             print "\t\t$(cflags) $(cdebug) $(cinclude) \\"
             extra = moddefn.GetCompilerOptions()
             if extra:
-                print "\t\t%s \\" % (string.join(extra),)
+                print "\t\t%s \\" % (' '.join(extra),)
             print '\t\t"%s"' % file
             print
 
index f8bb847b2f59f72b396e7b8abb68c48b82111897..7bc195b19bf0259d7fbf6e38b1e0dec6057401a9 100644 (file)
@@ -1,4 +1,3 @@
-import string
 #from Tkinter import TclError
 #import tkMessageBox
 #import tkSimpleDialog
@@ -168,15 +167,15 @@ class AutoIndent:
             return "break"
         # Ick.  It may require *inserting* spaces if we back up over a
         # tab character!  This is written to be clear, not fast.
-        expand, tabwidth = string.expandtabs, self.tabwidth
-        have = len(expand(chars, tabwidth))
+        tabwidth = self.tabwidth
+        have = len(chars.expandtabs(tabwidth))
         assert have > 0
         want = ((have - 1) // self.indentwidth) * self.indentwidth
         ncharsdeleted = 0
         while 1:
             chars = chars[:-1]
             ncharsdeleted = ncharsdeleted + 1
-            have = len(expand(chars, tabwidth))
+            have = len(chars.expandtabs(tabwidth))
             if have <= want or chars[-1] not in " \t":
                 break
         text.undo_block_start()
@@ -210,8 +209,7 @@ class AutoIndent:
                 if self.usetabs:
                     pad = '\t'
                 else:
-                    effective = len(string.expandtabs(prefix,
-                                                      self.tabwidth))
+                    effective = len(prefix.expandtabs(self.tabwidth))
                     n = self.indentwidth
                     pad = ' ' * (n - effective % n)
                 text.insert("insert", pad)
@@ -376,7 +374,7 @@ class AutoIndent:
         head, tail, chars, lines = self.get_region()
         tabwidth = self._asktabwidth()
         for pos in range(len(lines)):
-            lines[pos] = string.expandtabs(lines[pos], tabwidth)
+            lines[pos] = lines[pos].expandtabs(tabwidth)
         self.set_region(head, tail, chars, lines)
 
     def toggle_tabs_event(self, event):
@@ -417,12 +415,12 @@ class AutoIndent:
             head = text.index("insert linestart")
             tail = text.index("insert lineend +1c")
         chars = text.get(head, tail)
-        lines = string.split(chars, "\n")
+        lines = chars.split("\n")
         return head, tail, chars, lines
 
     def set_region(self, head, tail, chars, lines):
         text = self.text
-        newchars = string.join(lines, "\n")
+        newchars = "\n".join(lines)
         if newchars == chars:
             text.bell()
             return
index 8bf0e704c4b58ebaa7302a3658135e00ce4af5b1..a7d3802eb998cf3932cee1c8339505e744f56a45 100644 (file)
@@ -6,7 +6,6 @@
 # Debug menu here, which is only present in the PythonShell window.
 
 import sys
-import string
 from keydefs import *
 
 menudefs = [
index dc25083e7eb85e2cffac7e3c75f0f69f5685a68b..d8445a432bfed9b6efdde37330000c2bb400dc7e 100644 (file)
@@ -141,7 +141,7 @@ def get_arg_text(ob):
                     items.append("...")
                 if fob.func_code.co_flags & 0x8:
                     items.append("***")
-                argText = string.join(items , ", ")
+                argText = ", ".join(items)
                 argText = "(%s)" % argText
             except:
                 pass
index 19f3b7e6003c11634b9e192cb1f21a555ca999a7..6e4b2a32eeab9493f69e5d581bc004184c2398db 100644 (file)
@@ -12,7 +12,6 @@ XXX TO DO:
 
 import os
 import sys
-import string
 import pyclbr
 
 # XXX Patch pyclbr with dummies if it's vintage Python 1.5.2:
@@ -117,7 +116,7 @@ class ModuleBrowserTreeItem(TreeItem):
                             if sup.module != cl.module:
                                 sname = "%s.%s" % (sup.module, sname)
                         supers.append(sname)
-                    s = s + "(%s)" % string.join(supers, ", ")
+                    s = s + "(%s)" % ", ".join(supers)
                 items.append((cl.lineno, s))
                 self.classes[s] = cl
         items.sort()
index 3d2ecefe97d8135ea93eef1cec256ea00074f92b..059108f65c91743cbc3eff4f02aee24d60705413 100644 (file)
@@ -1,5 +1,4 @@
 import time
-import string
 import re
 import keyword
 from Tkinter import *
@@ -14,7 +13,7 @@ DEBUG = 0
 
 
 def any(name, list):
-    return "(?P<%s>" % name + string.join(list, "|") + ")"
+    return "(?P<%s>" % name + "|".join(list) + ")"
 
 def make_pat():
     kw = r"\b" + any("KEYWORD", keyword.kwlist) + r"\b"
index e8b63ffde272eb2e3a5c36b822528e0a7f52f4ce..c0ae556d3a6627d11337e49c5396c65dfbb24a65 100644 (file)
@@ -1,6 +1,5 @@
 import sys
 import os
-import string
 import re
 import imp
 from Tkinter import *
@@ -221,7 +220,7 @@ class EditorWindow:
         self.text.after_idle(self.set_line_and_column)
 
     def set_line_and_column(self, event=None):
-        line, column = string.split(self.text.index(INSERT), '.')
+        line, column = self.text.index(INSERT).split('.')
         self.status_bar.set_label('column', 'Col: %s' % column)
         self.status_bar.set_label('line', 'Ln: %s' % line)
 
@@ -344,14 +343,14 @@ class EditorWindow:
         except TclError:
             name = ""
         else:
-            name = string.strip(name)
+            name = name.strip()
         if not name:
             name = tkSimpleDialog.askstring("Module",
                      "Enter the name of a Python module\n"
                      "to search on sys.path and open:",
                      parent=self.text)
             if name:
-                name = string.strip(name)
+                name = name.strip()
             if not name:
                 return
         # XXX Ought to insert current file's directory in front of path
@@ -408,7 +407,7 @@ class EditorWindow:
             f.close()
         except IOError:
             return False
-        return line[:2] == '#!' and string.find(line, 'python') >= 0
+        return line.startswith('#!') and 'python' in line
 
     def close_hook(self):
         if self.flist:
@@ -580,7 +579,7 @@ class EditorWindow:
         if keydefs:
             self.apply_bindings(keydefs)
             for vevent in keydefs.keys():
-                methodname = string.replace(vevent, "-", "_")
+                methodname = vevent.replace("-", "_")
                 while methodname[:1] == '<':
                     methodname = methodname[1:]
                 while methodname[-1:] == '>':
@@ -700,7 +699,7 @@ class EditorWindow:
 def prepstr(s):
     # Helper to extract the underscore from a string, e.g.
     # prepstr("Co_py") returns (2, "Copy").
-    i = string.find(s, '_')
+    i = s.find('_')
     if i >= 0:
         s = s[:i] + s[i+1:]
     return i, s
@@ -717,7 +716,7 @@ def get_accelerator(keydefs, event):
     if not keylist:
         return ""
     s = keylist[0]
-    s = re.sub(r"-[a-z]\b", lambda m: string.upper(m.group()), s)
+    s = re.sub(r"-[a-z]\b", lambda m: m.group().upper(), s)
     s = re.sub(r"\b\w+\b", lambda m: keynames.get(m.group(), m.group()), s)
     s = re.sub("Key-", "", s)
     s = re.sub("Control-", "Ctrl-", s)
index ea18cc056dd4a2d199fd87a89054bd05087906c2..c1bc769c22eed805ca19a9ae848ac7418cf251c4 100644 (file)
@@ -14,7 +14,6 @@
 #   spaces, they will not be considered part of the same block.
 # * Fancy comments, like this bulleted list, arent handled :-)
 
-import string
 import re
 
 class FormatParagraph:
@@ -50,14 +49,14 @@ class FormatParagraph:
                     find_paragraph(text, text.index("insert"))
         if comment_header:
             # Reformat the comment lines - convert to text sans header.
-            lines = string.split(data, "\n")
+            lines = data.split("\n")
             lines = map(lambda st, l=len(comment_header): st[l:], lines)
-            data = string.join(lines, "\n")
+            data = "\n".join(lines)
             # Reformat to 70 chars or a 20 char width, whichever is greater.
             format_width = max(70-len(comment_header), 20)
             newdata = reformat_paragraph(data, format_width)
             # re-split and re-insert the comment header.
-            newdata = string.split(newdata, "\n")
+            newdata = newdata.split("\n")
             # If the block ends in a \n, we dont want the comment
             # prefix inserted after it. (Im not sure it makes sense to
             # reformat a comment block that isnt made of complete
@@ -68,7 +67,7 @@ class FormatParagraph:
                 block_suffix = "\n"
                 newdata = newdata[:-1]
             builder = lambda item, prefix=comment_header: prefix+item
-            newdata = string.join(map(builder, newdata), '\n') + block_suffix
+            newdata = '\n'.join(map(builder, newdata)) + block_suffix
         else:
             # Just a normal text format
             newdata = reformat_paragraph(data)
@@ -84,7 +83,7 @@ class FormatParagraph:
         text.see("insert")
 
 def find_paragraph(text, mark):
-    lineno, col = map(int, string.split(mark, "."))
+    lineno, col = map(int, mark.split("."))
     line = text.get("%d.0" % lineno, "%d.0 lineend" % lineno)
     while text.compare("%d.0" % lineno, "<", "end") and is_all_white(line):
         lineno = lineno + 1
@@ -109,7 +108,7 @@ def find_paragraph(text, mark):
     return first, last, comment_header, text.get(first, last)
 
 def reformat_paragraph(data, limit=70):
-    lines = string.split(data, "\n")
+    lines = data.split("\n")
     i = 0
     n = len(lines)
     while i < n and is_all_white(lines[i]):
@@ -130,18 +129,18 @@ def reformat_paragraph(data, limit=70):
             word = words[j]
             if not word:
                 continue # Can happen when line ends in whitespace
-            if len(string.expandtabs(partial + word)) > limit and \
+            if len((partial + word).expandtabs()) > limit and \
                partial != indent1:
-                new.append(string.rstrip(partial))
+                new.append(partial.rstrip())
                 partial = indent2
             partial = partial + word + " "
             if j+1 < len(words) and words[j+1] != " ":
                 partial = partial + " "
         i = i+1
-    new.append(string.rstrip(partial))
+    new.append(partial.rstrip())
     # XXX Should reformat remaining paragraphs as well
     new.extend(lines[i:])
-    return string.join(new, "\n")
+    return "\n".join(new)
 
 def is_all_white(line):
     return re.match(r"^\s*$", line) is not None
index 61c77c349389a5ded084f0584e19b85e608c735d..ed5a9791b8b5882baf3451b2cac06ad9c2d7e951 100644 (file)
@@ -1,4 +1,3 @@
-import string
 import os
 import re
 import fnmatch
index b882c92c152a1ce44d969004b25141ff017c6131..46e70e12248473154ffc5b46094d818b2d8ac034 100644 (file)
@@ -1,5 +1,3 @@
-import string
-
 class History:
 
     def __init__(self, text, output_sep = "\n"):
@@ -22,11 +20,11 @@ class History:
     def _get_source(self, start, end):
         # Get source code from start index to end index.  Lines in the
         # text control may be separated by sys.ps2 .
-        lines = string.split(self.text.get(start, end), self.output_sep)
-        return string.join(lines, "\n")
+        lines = self.text.get(start, end).split(self.output_sep)
+        return "\n".join(lines)
 
     def _put_source(self, where, source):
-        output = string.join(string.split(source, "\n"), self.output_sep)
+        output = self.output_sep.join(source.split("\n"))
         self.text.insert(where, output)
 
     def history_do(self, reverse):
@@ -68,7 +66,7 @@ class History:
         self.history_prefix = prefix
 
     def history_store(self, source):
-        source = string.strip(source)
+        source = source.strip()
         if len(source) > 2:
             # avoid duplicates
             try:
@@ -80,7 +78,7 @@ class History:
         self.history_prefix = None
 
     def recall(self, s):
-        s = string.strip(s)
+        s = s.strip()
         self.text.tag_remove("sel", "1.0", "end")
         self.text.delete("iomark", "end-1c")
         self.text.mark_set("insert", "end-1c")
index 6c140df45148a0af2bbacc45703299486f6ae5f1..6398b86dd384855837b159349ccaf635bf6d59bc 100644 (file)
@@ -3,7 +3,6 @@
 # the right list displays the substructure of the selected item
 # in the left list.
 
-import string
 from Tkinter import *
 from WindowList import ListedToplevel
 from Separator import HSeparator
index 2fa41275a1fc255c7cb1cf5f0dd45c7b95f7dea6..4f295e8dbeb312b7453a2740668d7d79dced79da 100644 (file)
@@ -1,4 +1,3 @@
-import string
 import sys
 import os
 from Tkinter import *
@@ -121,7 +120,7 @@ class StackViewer(ScrolledList):
             filename = code.co_filename
             funcname = code.co_name
             sourceline = linecache.getline(filename, lineno)
-            sourceline = string.strip(sourceline)
+            sourceline = sourceline.strip()
             if funcname in ("?", "", None):
                 item = "%s, line %d: %s" % (modname, lineno, sourceline)
             else:
index 17d76c2659c53cd91a00061f031e8e3b96a6850d..1be60c0fdab8c48a12e5fb19008014fef427f8ce 100644 (file)
@@ -10,8 +10,6 @@ We'll have to fix IDLE to do something reasonable when two or more
 extensions what to capture the same event.
 """
 
-import string
-
 import PyParse
 from AutoIndent import AutoIndent, index2line
 from IdleConf import idleconf
@@ -177,10 +175,10 @@ class LastOpenBracketFinder:
         if i is None \
            or keysym_type(buf[i]) != right_keysym_type:
             return None
-        lines_back = string.count(buf[i:], "\n") - 1
+        lines_back = buf[i:].count("\n") - 1
         # subtract one for the "\n" added to please the parser
         upto_open = buf[:i]
-        j = string.rfind(upto_open, "\n") + 1 # offset of column 0 of line
+        j = upto_open.rfind("\n") + 1 # offset of column 0 of line
         offset = i - j
         return "%d.%d" % (lno - lines_back, offset)
 
index c8212b2143691bc7a910bbe89057ebc2e6753fc4..422a86cc76a64592fe4e952baa70e003e76919f6 100644 (file)
@@ -1,4 +1,3 @@
-import string
 import re
 import sys
 
@@ -7,7 +6,7 @@ C_NONE, C_BACKSLASH, C_STRING, C_BRACKET = range(4)
 
 if 0:   # for throwaway debugging output
     def dump(*stuff):
-        sys.__stdout__.write(string.join(map(str, stuff), " ") + "\n")
+        sys.__stdout__.write(" ".join(map(str, stuff)) + "\n")
 
 # Find what looks like the start of a popular stmt.
 
@@ -103,7 +102,7 @@ for ch in ")}]":
     _tran[ord(ch)] = ')'
 for ch in "\"'\\\n#":
     _tran[ord(ch)] = ch
-_tran = string.join(_tran, '')
+_tran = ''.join(_tran)
 del ch
 
 try:
@@ -153,13 +152,12 @@ class Parser:
     # Python 1.5.2 (#0, Apr 13 1999, ...
 
     def find_good_parse_start(self, use_ps1, is_char_in_string=None,
-                              _rfind=string.rfind,
                               _synchre=_synchre):
         str, pos = self.str, None
         if use_ps1:
             # shell window
             ps1 = '\n' + sys.ps1
-            i = _rfind(str, ps1)
+            i = str.rfind(ps1)
             if i >= 0:
                 pos = i + len(ps1)
                 # make it look like there's a newline instead
@@ -178,10 +176,10 @@ class Parser:
         # bumped to a legitimate synch point.
         limit = len(str)
         for tries in range(5):
-            i = _rfind(str, ":\n", 0, limit)
+            i = str.rfind(":\n", 0, limit)
             if i < 0:
                 break
-            i = _rfind(str, '\n', 0, i) + 1  # start of colon line
+            i = str.rfind('\n', 0, i) + 1  # start of colon line
             m = _synchre(str, i, limit)
             if m and not is_char_in_string(m.start()):
                 pos = m.start()
@@ -226,7 +224,7 @@ class Parser:
     # based) of the non-continuation lines.
     # Creates self.{goodlines, continuation}.
 
-    def _study1(self, _replace=string.replace, _find=string.find):
+    def _study1(self):
         if self.study_level >= 1:
             return
         self.study_level = 1
@@ -236,12 +234,12 @@ class Parser:
         # uninteresting characters.  This can cut the number of chars
         # by a factor of 10-40, and so greatly speed the following loop.
         str = self.str
-        str = string.translate(str, _tran)
-        str = _replace(str, 'xxxxxxxx', 'x')
-        str = _replace(str, 'xxxx', 'x')
-        str = _replace(str, 'xx', 'x')
-        str = _replace(str, 'xx', 'x')
-        str = _replace(str, '\nx', '\n')
+        str = str.translate(_tran)
+        str = str.replace('xxxxxxxx', 'x')
+        str = str.replace('xxxx', 'x')
+        str = str.replace('xx', 'x')
+        str = str.replace('xx', 'x')
+        str = str.replace('\nx', '\n')
         # note that replacing x\n with \n would be incorrect, because
         # x may be preceded by a backslash
 
@@ -322,7 +320,7 @@ class Parser:
 
             if ch == '#':
                 # consume the comment
-                i = _find(str, '\n', i)
+                i = str.find('\n', i)
                 assert i >= 0
                 continue
 
@@ -363,8 +361,7 @@ class Parser:
     #     self.lastopenbracketpos
     #         if continuation is C_BRACKET, index of last open bracket
 
-    def _study2(self, _rfind=string.rfind, _find=string.find,
-                      _ws=string.whitespace):
+    def _study2(self):
         if self.study_level >= 2:
             return
         self._study1()
@@ -381,7 +378,7 @@ class Parser:
             q = p
             for nothing in range(goodlines[i-1], goodlines[i]):
                 # tricky: sets p to 0 if no preceding newline
-                p = _rfind(str, '\n', 0, p-1) + 1
+                p = str.rfind('\n', 0, p-1) + 1
             # The stmt str[p:q] isn't a continuation, but may be blank
             # or a non-indenting comment line.
             if  _junkre(str, p):
@@ -444,7 +441,7 @@ class Parser:
 
             if ch == '#':
                 # consume comment and trailing newline
-                p = _find(str, '\n', p, q) + 1
+                p = str.find('\n', p, q) + 1
                 assert p > 0
                 continue
 
@@ -465,13 +462,13 @@ class Parser:
     # Assuming continuation is C_BRACKET, return the number
     # of spaces the next line should be indented.
 
-    def compute_bracket_indent(self, _find=string.find):
+    def compute_bracket_indent(self):
         self._study2()
         assert self.continuation == C_BRACKET
         j = self.lastopenbracketpos
         str = self.str
         n = len(str)
-        origi = i = string.rfind(str, '\n', 0, j) + 1
+        origi = i = str.rfind('\n', 0, j) + 1
         j = j+1     # one beyond open bracket
         # find first list item; set i to start of its line
         while j < n:
@@ -482,7 +479,7 @@ class Parser:
                 break
             else:
                 # this line is junk; advance to next line
-                i = j = _find(str, '\n', j) + 1
+                i = j = str.find('\n', j) + 1
         else:
             # nothing interesting follows the bracket;
             # reproduce the bracket line's indentation + a level
@@ -490,8 +487,7 @@ class Parser:
             while str[j] in " \t":
                 j = j+1
             extra = self.indentwidth
-        return len(string.expandtabs(str[i:j],
-                                     self.tabwidth)) + extra
+        return len(str[i:j].expandtabs(self.tabwidth)) + extra
 
     # Return number of physical lines in last stmt (whether or not
     # it's an interesting stmt!  this is intended to be called when
@@ -517,7 +513,7 @@ class Parser:
 
         # See whether the initial line starts an assignment stmt; i.e.,
         # look for an = operator
-        endpos = string.find(str, '\n', startpos) + 1
+        endpos = str.find('\n', startpos) + 1
         found = level = 0
         while i < endpos:
             ch = str[i]
@@ -553,8 +549,7 @@ class Parser:
             while str[i] not in " \t\n":
                 i = i+1
 
-        return len(string.expandtabs(str[self.stmt_start :
-                                         i],
+        return len(str[self.stmt_start:i].expandtabs(\
                                      self.tabwidth)) + 1
 
     # Return the leading whitespace on the initial line of the last
index e71a9a17a5f61364b9d53ab3cbeac1f2076ea956..7fd28eba21a7c04ba56589d9f3affcadd58c4417 100644 (file)
@@ -208,7 +208,7 @@ class ModifiedInterpreter(InteractiveInterpreter):
         # Stuff source in the filename cache
         filename = "<pyshell#%d>" % self.gid
         self.gid = self.gid + 1
-        lines = string.split(source, "\n")
+        lines = source.split("\n")
         linecache.cache[filename] = len(source)+1, 0, lines, filename
         return filename
 
@@ -582,7 +582,7 @@ class PyShell(OutputWindow):
         # If we're in the current input and there's only whitespace
         # beyond the cursor, erase that whitespace first
         s = self.text.get("insert", "end-1c")
-        if s and not string.strip(s):
+        if s and not s.strip():
             self.text.delete("insert", "end-1c")
         # If we're in the current input before its last line,
         # insert a newline right at the insert point
index 3d71703c107e2cececdc340d644ce683356f040e..cc8b1a608cc57d560d54dea1f98fc36737216c2e 100644 (file)
@@ -1,4 +1,3 @@
-import string
 import os
 import re
 import fnmatch
index faf526918f368dfe9039821b8d1438d124b7dd3e..d5f13db9e2ca5fb296cc935d10a7b20d199c52b6 100644 (file)
@@ -1,4 +1,3 @@
-import string
 from Tkinter import *
 
 class SearchDialogBase:
index e37975104abcf349bec3bf1aa10b9b25f89c94ba..cc40a00c50f04b5103a1d172596446e7200efde9 100644 (file)
@@ -1,4 +1,3 @@
-import string
 import re
 from Tkinter import *
 import tkMessageBox
@@ -175,7 +174,7 @@ class SearchEngine:
                 wrapped = 1
                 wrap = 0
                 pos = text.index("end-1c")
-                line, col = map(int, string.split(pos, "."))
+                line, col = map(int, pos.split("."))
             chars = text.get("%d.0" % line, "%d.0" % (line+1))
             col = len(chars) - 1
         return None
@@ -217,5 +216,5 @@ def get_selection(text):
 # Helper to parse a text index into a (line, col) tuple.
 
 def get_line_col(index):
-    line, col = map(int, string.split(index, ".")) # Fails on invalid index
+    line, col = map(int, index.split(".")) # Fails on invalid index
     return line, col
index d70658bcbbde15079ccaa75361e4c6aa6bd666bc..7f57c0d385de971b5d1fc86f103f9dc0fb3db1ac 100644 (file)
@@ -1,6 +1,5 @@
 import os
 import sys
-import string
 import linecache
 
 from TreeWidget import TreeNode, TreeItem, ScrolledCanvas
@@ -50,7 +49,7 @@ class FrameTreeItem(TreeItem):
         filename = code.co_filename
         funcname = code.co_name
         sourceline = linecache.getline(filename, lineno)
-        sourceline = string.strip(sourceline)
+        sourceline = sourceline.strip()
         if funcname in ("?", "", None):
             item = "%s, line %d: %s" % (modname, lineno, sourceline)
         else:
index 37bc58f2ead6b47106b351424454c89ac7e82bc4..d7132648ac2df6127d19761b6c2164cd57b0cb60 100644 (file)
@@ -16,7 +16,6 @@
 
 import os
 import sys
-import string
 from Tkinter import *
 import imp
 
index 3ef14c30ef671904435325afec492e2e2eb8aaae..54b08510814691161acddf6dcc11b8208adf6df1 100644 (file)
@@ -311,7 +311,7 @@ class CommandSequence(Command):
         strs = []
         for cmd in self.cmds:
             strs.append("    " + `cmd`)
-        return s + "(\n" + string.join(strs, ",\n") + "\n)"
+        return s + "(\n" + ",\n".join(strs) + "\n)"
 
     def __len__(self):
         return len(self.cmds)
index cb2028dc0370b3c796bd4400d29bed6ec69cf172..784dc907c7b03e75f757485e48b1a95b23f3f67d 100644 (file)
@@ -5,7 +5,6 @@
 import re
 import sys
 import os
-import string
 import getopt
 import glob
 import fileinput
@@ -25,7 +24,7 @@ def main():
             if not sublist:
                 sublist.append('file %s' % fileinput.filename())
                 sublist.append('line %d' % fileinput.lineno())
-            sublist.append(string.strip(line[2:-1]))
+            sublist.append(line[2:-1].strip())
         else:
             if sublist:
                 hits.append(sublist)
@@ -37,7 +36,7 @@ def main():
     for sublist in hits:
         d = {}
         for line in sublist:
-            words = string.split(line, None, 1)
+            words = line.split(None, 1)
             if len(words) != 2:
                 continue
             tag = words[0]
index 19745029b6624f10ed2eabd0b59650851de801fb..5788b955796c7e4e9092dc51b8c8bd750e2eb1a5 100755 (executable)
@@ -20,7 +20,6 @@
 import sys
 import os
 import varsubst
-import string
 
 error = 'genmodule.error'
 
@@ -43,7 +42,7 @@ class writer:
         if not self._subst:
             if not self.__dict__.has_key('abbrev'):
                 self.abbrev = self.name
-            self.Abbrev = string.upper(self.abbrev[0])+self.abbrev[1:]
+            self.Abbrev = self.abbrev[0].upper()+self.abbrev[1:]
             subst = varsubst.Varsubst(self.__dict__)
             subst.useindent(1)
             self._subst = subst.subst
index cdf6afe5e3bc6c76fdb13e66f3546bb8e9fa75fe..df6d9efc3d1c64019a5026352a842e1b68aab05f 100755 (executable)
@@ -223,7 +223,7 @@ class UI_module:
         rv = rv + (name+'.name = '+`self.name_entry.get()`+'\n')
         rv = rv + (name+'.abbrev = '+`self.abbrev_entry.get()`+'\n')
         rv = rv + (name+'.methodlist = '+`getlistlist(self.method_list)`+'\n')
-        rv = rv + (name+'.objects = ['+string.joinfields(onames, ',')+']\n')
+        rv = rv + (name+'.objects = ['+','.join(onames)+']\n')
         rv = rv + ('\n')
         return rv
         
index 71a2b264409b85f06f934625fb6d1ffff22df267..5516be2addfa8d69e12126960552b8d78b6daca4 100644 (file)
@@ -1,7 +1,6 @@
 #
 # Variable substitution. Variables are $delimited$
 #
-import string
 import re
 
 error = 'varsubst.error'
@@ -37,7 +36,7 @@ class Varsubst:
             rv = rv + value
 
     def _modindent(self, value, old):
-        lastnl = string.rfind(old, '\n', 0) + 1
+        lastnl = old.rfind('\n', 0) + 1
         lastnl = len(old) - lastnl
         sub = '\n' + (' '*lastnl)
         return re.sub('\n', sub, value)
index f67be704a41b40d2f193d6935a74cb6c49952739..2b0f9b2bf3280d606991dad590f75f1dc1b7c63f 100755 (executable)
@@ -7,7 +7,6 @@
 # Options -[amc] select atime, mtime (default) or ctime as age.
 
 import sys, os, time
-import string
 from stat import *
 
 # Use lstat() to stat files if it exists, else stat()
@@ -51,7 +50,7 @@ for file in sys.argv[1:]:
         size = st[ST_SIZE]
         age = now - anytime
         byteyears = float(size) * float(age) / secs_per_year
-        print string.ljust(file, maxlen),
-        print string.rjust(`int(byteyears)`, 8)
+        print file.ljust(maxlen),
+        print repr(int(byteyears)).rjust(8)
 
 sys.exit(status)
index c1188e24177001b6e89b11882f85651e6b0f4af5..b3141dfd10c1428d1b5c1ffe9e6c3e759481093c 100755 (executable)
@@ -35,14 +35,13 @@ __version__ = 1, 0, 0
 
 import os
 import sys
-import string
 import getopt
 import tokenize
 
 verbose = 0
 
 def errprint(*args):
-    msg = string.join(args)
+    msg = ' '.join(args)
     sys.stderr.write(msg)
     sys.stderr.write("\n")
 
index 26aa59908ca6ea834ac00ac10cd15ddd4c80a46e..7b86aa395309717a281a6b31879f1d3ff5439657 100755 (executable)
@@ -156,8 +156,6 @@ classprog = regex.compile(classexpr)
 baseexpr = '^ *\(.*\) *( *) *$'
 baseprog = regex.compile(baseexpr)
 
-import string
-
 def fixline(line):
     if classprog.match(line) < 0: # No 'class' keyword -- no change
         return line
@@ -176,7 +174,7 @@ def fixline(line):
     basepart = line[a2+1:b2]
 
     # Extract list of base expressions
-    bases = string.splitfields(basepart, ',')
+    bases = basepart.split(',')
 
     # Strip trailing '()' from each base expression
     for i in range(len(bases)):
@@ -185,7 +183,7 @@ def fixline(line):
             bases[i] = bases[i][x1:y1]
 
     # Join the bases back again and build the new line
-    basepart = string.joinfields(bases, ', ')
+    basepart = ', '.join(bases)
 
     return head + '(' + basepart + '):' + tail
 
index d133a40fd81fe6c038e0c20a7fc29fb48a12cd67..2168556f27034d7c65a6882e31a9aee782a05333 100755 (executable)
@@ -14,7 +14,6 @@ import os
 import sys
 import stat
 import getopt
-import string
 
 cutofftime = 0
 
@@ -51,7 +50,7 @@ def process(dir):
     if cvsdir:
         entries = os.path.join(cvsdir, "Entries")
         for e in open(entries).readlines():
-            words = string.split(e, '/')
+            words = e.split('/')
             if words[0] == '' and words[1:]:
                 name = words[1]
                 fullname = os.path.join(dir, name)
index 7a32533fb182ad09fb2a627970f9519104d8762c..35b39164921d94a3106ed3edfc2ae0e3d1f63eda 100755 (executable)
@@ -1,10 +1,10 @@
 #! /usr/bin/env python
 # Format du output in a tree shape
 
-import os, string, sys, errno
+import os, sys, errno
 
 def main():
-    p = os.popen('du ' + string.join(sys.argv[1:]), 'r')
+    p = os.popen('du ' + ' '.join(sys.argv[1:]), 'r')
     total, d = None, {}
     for line in p.readlines():
         i = 0
@@ -12,7 +12,7 @@ def main():
         size = eval(line[:i])
         while line[i] in ' \t': i = i+1
         file = line[i:-1]
-        comps = string.splitfields(file, '/')
+        comps = file.split('/')
         if comps[0] == '': comps[0] = '/'
         if comps[len(comps)-1] == '': del comps[len(comps)-1]
         total, d = store(size, comps, total, d)
@@ -51,7 +51,7 @@ def show(total, d, prefix):
         if tsub is None:
             psub = prefix
         else:
-            print prefix + string.rjust(`tsub`, width) + ' ' + key
+            print prefix + repr(tsub).rjust(width) + ' ' + key
             psub = prefix + ' '*(width-1) + '|' + ' '*(len(key)+1)
         if d.has_key(key):
             show(tsub, d[key][1], psub)
index 6f674c664be47b9b82440b976addc7a49fca9cd7..8bc1de0dcb58cbf06f09fada1818bd669ecee063 100755 (executable)
@@ -36,7 +36,6 @@
 
 import sys
 import regex
-import string
 import os
 from stat import *
 import getopt
@@ -213,11 +212,11 @@ Number = Floatnumber + '\|' + Intnumber
 # Anything else is an operator -- don't list this explicitly because of '/*'
 
 OutsideComment = (Identifier, Number, String, Char, CommentStart)
-OutsideCommentPattern = '\(' + string.joinfields(OutsideComment, '\|') + '\)'
+OutsideCommentPattern = '\(' + '\|'.join(OutsideComment) + '\)'
 OutsideCommentProgram = regex.compile(OutsideCommentPattern)
 
 InsideComment = (Identifier, Number, CommentEnd)
-InsideCommentPattern = '\(' + string.joinfields(InsideComment, '\|') + '\)'
+InsideCommentPattern = '\(' + '\|'.join(InsideComment) + '\)'
 InsideCommentProgram = regex.compile(InsideCommentPattern)
 
 def initfixline():
@@ -286,10 +285,10 @@ def addsubst(substfile):
         if not line: break
         lineno = lineno + 1
         try:
-            i = string.index(line, '#')
-        except string.index_error:
+            i = line.index('#')
+        except ValueError:
             i = -1          # Happens to delete trailing \n
-        words = string.split(line[:i])
+        words = line[:i].split()
         if not words: continue
         if len(words) == 3 and words[0] == 'struct':
             words[:2] = [words[0] + ' ' + words[1]]
index ba2e0c503b062ed042f07841ca7e4707bab6b68f..1f9c71310ac7886d0b99f05b0ccff1a80aff5f71 100755 (executable)
@@ -3,7 +3,6 @@
 # Add some standard cpp magic to a header file
 
 import sys
-import string
 
 def main():
     args = sys.argv[1:]
@@ -29,8 +28,8 @@ def process(file):
     sys.stderr.write('Processing %s ...\n' % file)
     magic = 'Py_'
     for c in file:
-        if c in string.ascii_letters + string.digits:
-            magic = magic + string.upper(c)
+        if ord(c)<=0x80 and c.isalnum():
+            magic = magic + c.upper()
         else: magic = magic + '_'
     sys.stdout = f
     print '#ifndef', magic
index 38af9dc8b7b5f4f85b1598e2268e531ed519e007..c3469d06b863cee1178d1d5c7ae133a8baab6c46 100755 (executable)
@@ -22,7 +22,6 @@ import os
 import sys
 import time
 import getopt
-import string
 import ftplib
 import netrc
 from fnmatch import fnmatch
@@ -127,7 +126,7 @@ def mirrorsubdir(f, localdir):
         if mac:
             # Mac listing has just filenames;
             # trailing / means subdirectory
-            filename = string.strip(line)
+            filename = line.strip()
             mode = '-'
             if filename[-1:] == '/':
                 filename = filename[:-1]
@@ -135,12 +134,12 @@ def mirrorsubdir(f, localdir):
             infostuff = ''
         else:
             # Parse, assuming a UNIX listing
-            words = string.split(line, None, 8)
+            words = line.split(None, 8)
             if len(words) < 6:
                 if verbose > 1: print 'Skipping short line'
                 continue
-            filename = string.lstrip(words[-1])
-            i = string.find(filename, " -> ")
+            filename = words[-1].lstrip()
+            i = filename.find(" -> ")
             if i >= 0:
                 # words[0] had better start with 'l'...
                 if verbose > 1:
@@ -360,7 +359,7 @@ class LoggingFile:
 def askabout(filetype, filename, pwd):
     prompt = 'Retrieve %s %s from %s ? [ny] ' % (filetype, filename, pwd)
     while 1:
-        reply = string.lower(string.strip(raw_input(prompt)))
+        reply = raw_input(prompt).strip().lower()
         if reply in ['y', 'ye', 'yes']:
             return 1
         if reply in ['', 'n', 'no', 'nop', 'nope']:
index 69b6ede6c287824f7012737700e08d3ab4bc2c59..46563dfff9c287fdb0f6c99c6680ff0e3c090c24 100644 (file)
@@ -22,7 +22,7 @@ Written by Marc-Andre Lemburg (mal@lemburg.com).
 
 """#"
 
-import string,re,os,time,marshal
+import re,os,time,marshal
 
 # Create numeric tables or character based ones ?
 numeric = 1
@@ -34,9 +34,7 @@ mapRE = re.compile('((?:0x[0-9a-fA-F]+\+?)+)'
                    '(#.+)?')
 
 def parsecodes(codes,
-
-               split=string.split,atoi=string.atoi,len=len,
-               filter=filter,range=range):
+               len=len, filter=filter,range=range):
 
     """ Converts code combinations to either a single code integer
         or a tuple of integers.
@@ -49,12 +47,12 @@ def parsecodes(codes,
     """
     if not codes:
         return None
-    l = split(codes,'+')
+    l = codes.split('+')
     if len(l) == 1:
-        return atoi(l[0],16)
+        return int(l[0],16)
     for i in range(len(l)):
         try:
-            l[i] = atoi(l[i],16)
+            l[i] = int(l[i],16)
         except ValueError:
             l[i] = None
     l = filter(lambda x: x is not None, l)
@@ -63,9 +61,7 @@ def parsecodes(codes,
     else:
         return tuple(l)
 
-def readmap(filename,
-
-            strip=string.strip):
+def readmap(filename):
 
     f = open(filename,'r')
     lines = f.readlines()
@@ -76,7 +72,7 @@ def readmap(filename,
     for i in range(256):
         unmapped[i] = i
     for line in lines:
-        line = strip(line)
+        line = line.strip()
         if not line or line[0] == '#':
             continue
         m = mapRE.match(line)
@@ -108,9 +104,7 @@ def readmap(filename,
 
     return enc2uni
 
-def hexrepr(t,
-
-            join=string.join):
+def hexrepr(t):
 
     if t is None:
         return 'None'
@@ -118,11 +112,9 @@ def hexrepr(t,
         len(t)
     except:
         return '0x%04x' % t
-    return '(' + join(map(lambda t: '0x%04x' % t, t),', ') + ')'
+    return '(' + ', '.join(map(lambda t: '0x%04x' % t, t)) + ')'
 
-def unicoderepr(t,
-
-                join=string.join):
+def unicoderepr(t):
 
     if t is None:
         return 'None'
@@ -133,11 +125,9 @@ def unicoderepr(t,
             len(t)
         except:
             return repr(unichr(t))
-        return repr(join(map(unichr, t),''))
-
-def keyrepr(t,
+        return repr(''.join(map(unichr, t)))
 
-            join=string.join):
+def keyrepr(t):
 
     if t is None:
         return 'None'
@@ -151,7 +141,7 @@ def keyrepr(t,
                 return repr(chr(t))
             else:
                 return repr(unichr(t))
-        return repr(join(map(chr, t),''))
+        return repr(''.join(map(chr, t)))
 
 def codegen(name,map,comments=1):
 
@@ -246,7 +236,7 @@ def getregentry():
 
 encoding_map = codecs.make_encoding_map(decoding_map)
 ''')
-    return string.join(l,'\n')
+    return '\n'.join(l)
 
 def pymap(name,map,pyfile,comments=1):
 
@@ -269,9 +259,9 @@ def convertdir(dir,prefix='',comments=1):
     mapnames = os.listdir(dir)
     for mapname in mapnames:
         name = os.path.split(mapname)[1]
-        name = string.replace(name,'-','_')
-        name = string.split(name, '.')[0]
-        name = string.lower(name)
+        name = name.replace('-','_')
+        name = name.split('.')[0]
+        name = name.lower()
         codefile = name + '.py'
         marshalfile = name + '.mapping'
         print 'converting %s to %s and %s' % (mapname,
index da14437d2a2dd620a94cfca038c0e7c6e6cadead..c0c14595733a1deb95ab3404788605acd8966416 100755 (executable)
@@ -29,7 +29,6 @@
 import sys
 import regex
 import getopt
-import string
 
 defs = []
 undefs = []
@@ -62,12 +61,12 @@ def process(fpi, fpo):
             nextline = fpi.readline()
             if not nextline: break
             line = line + nextline
-        tmp = string.strip(line)
+        tmp = line.strip()
         if tmp[:1] != '#':
             if ok: fpo.write(line)
             continue
-        tmp = string.strip(tmp[1:])
-        words = string.split(tmp)
+        tmp = tmp[1:].strip()
+        words = tmp.split()
         keyword = words[0]
         if keyword not in keywords:
             if ok: fpo.write(line)
index d036749bebcb7914c383fd5a304eab0e421fa0a9..d4c2fe6822efec28ece02c0b4072712bd6f7c5ae 100755 (executable)
@@ -24,7 +24,7 @@ from their output.
 
 """
 
-import os, sys, getopt, string, re
+import os, sys, getopt, re
 
 sep1 = '='*77 + '\n'                    # file separator
 sep2 = '-'*28 + '\n'                    # revision separator
@@ -84,7 +84,7 @@ def digest_chunk(chunk):
     keylen = len(key)
     for line in lines:
         if line[:keylen] == key:
-            working_file = string.strip(line[keylen:])
+            working_file = line[keylen:].strip()
             break
     else:
         working_file = None
@@ -93,7 +93,7 @@ def digest_chunk(chunk):
         revline = lines[0]
         dateline = lines[1]
         text = lines[2:]
-        words = string.split(dateline)
+        words = dateline.split()
         author = None
         if len(words) >= 3 and words[0] == 'date:':
             dateword = words[1]
@@ -108,7 +108,7 @@ def digest_chunk(chunk):
         else:
             date = None
             text.insert(0, revline)
-        words = string.split(revline)
+        words = revline.split()
         if len(words) >= 2 and words[0] == 'revision':
             rev = words[1]
         else:
index 113b376cfef73e39cd0c0fc6650e7dd9dcc5f249..85f90aa611f1d6495e955917658408c1abf50bab 100755 (executable)
@@ -1,6 +1,5 @@
 """mailerdaemon - classes to parse mailer-daemon messages"""
 
-import string
 import rfc822
 import calendar
 import re
@@ -18,9 +17,9 @@ class ErrorMessage(rfc822.Message):
         sub = self.getheader('Subject')
         if not sub:
             return 0
-        sub = string.lower(sub)
-        if sub[:12] == 'waiting mail': return 1
-        if string.find(sub, 'warning') >= 0: return 1
+        sub = sub.lower()
+        if sub.startswith('waiting mail'): return 1
+        if 'warning' in sub: return 1
         self.sub = sub
         return 0
 
@@ -132,10 +131,10 @@ def emparse_list(fp, sub):
             if type(regexp) is type(''):
                 for i in range(len(emails)-1,-1,-1):
                     email = emails[i]
-                    exp = re.compile(string.join(string.split(regexp, '<>'), re.escape(email)), re.MULTILINE)
+                    exp = re.compile(re.escape(email).join(regexp.split('<>')), re.MULTILINE)
                     res = exp.search(data)
                     if res is not None:
-                        errors.append(string.join(string.split(string.strip(email)+': '+res.group('reason'))))
+                        errors.append(' '.join((email.strip()+': '+res.group('reason')).split()))
                         del emails[i]
                 continue
             res = regexp.search(data)
@@ -143,14 +142,14 @@ def emparse_list(fp, sub):
                 reason = res.group('reason')
                 break
     for email in emails:
-        errors.append(string.join(string.split(string.strip(email)+': '+reason)))
+        errors.append(' '.join((email.strip()+': '+reason).split()))
     return errors
 
 EMPARSERS = [emparse_list, ]
 
 def sort_numeric(a, b):
-    a = string.atoi(a)
-    b = string.atoi(b)
+    a = int(a)
+    b = int(b)
     if a < b: return -1
     elif a > b: return 1
     else: return 0
index cbbb964d895d770f4873b635b77447f0c6ebad07..9e69961be34aec96eb6a588255745eed3d732782 100755 (executable)
@@ -30,7 +30,6 @@ import sys
 import regex
 import os
 from stat import *
-import string
 
 err = sys.stderr.write
 dbg = err
@@ -101,7 +100,7 @@ def fix(filename):
             return 1
         if lineno == 1 and g is None and line[:2] == '#!':
             # Check for non-Python scripts
-            words = string.split(line[2:])
+            words = line[2:].split()
             if words and regex.search('[pP]ython', words[0]) < 0:
                 msg = filename + ': ' + words[0]
                 msg = msg + ' script; not fixed\n'
index fc1022a42b43acd7ca2215ff82df42b48767fd3a..6887ee282d43a198289af0fa802166c353553212 100755 (executable)
@@ -34,7 +34,7 @@ Even if this isn't the default output of your nm, there is generally an
 option to produce this format (since it is the original v7 Unix format).
 
 """
-import os,re,string,sys
+import os,re,sys
 
 PYTHONLIB = 'libpython'+sys.version[:3]+'.a'
 PC_PYTHONLIB = 'Python'+sys.version[0]+sys.version[2]+'.dll'
@@ -43,12 +43,12 @@ NM = 'nm -p -g %s'                      # For Linux, use "nm -g %s"
 def symbols(lib=PYTHONLIB,types=('T','C','D')):
 
     lines = os.popen(NM % lib).readlines()
-    lines = map(string.strip,lines)
+    lines = [s.strip() for s in lines]
     symbols = {}
     for line in lines:
         if len(line) == 0 or ':' in line:
             continue
-        items = string.split(line)
+        items = line.split()
         if len(items) != 3:
             continue
         address, type, name = items
@@ -69,7 +69,7 @@ def export_list(symbols):
     data.sort()
     data.append('')
     code.sort()
-    return string.join(data,' DATA\n')+'\n'+string.join(code,'\n')
+    return ' DATA\n'.join(data)+'\n'+'\n'.join(code)
 
 # Definition file template
 DEF_TEMPLATE = """\
index e25e5b8414ce1d923ffe9eff345dacea694aead3..3e040b9879f7a71fbbae9b7828396c692feb411b 100755 (executable)
@@ -20,7 +20,6 @@
 
 
 import sys
-import string
 import os
 import getopt
 import regex
index e1c6e737de230330362ea8bfb91c50ce18aa810c..81c5a6ecbf33fcf71ee299601d41add061026439 100755 (executable)
@@ -23,7 +23,6 @@ import sys
 import regex
 import os
 from stat import *
-import string
 import getopt
 
 err = sys.stderr.write
@@ -140,9 +139,9 @@ def fix(filename):
     return 0
 
 def fixline(line):
-    if line[:2] != '#!':
+    if not line.startswith('#!'):
         return line
-    if string.find(line, "python") < 0:
+    if "python" not in line:
         return line
     return '#! %s\n' % new_interpreter
 
index 18b582b693e06924842f1c048f3872389decd7e6..1589709afd53acc776e05bab27294f2b38f3c296 100755 (executable)
@@ -23,7 +23,6 @@
 import sys
 import regex
 import os
-import string
 
 
 # Main program
@@ -82,10 +81,10 @@ def process(filename, table):
         elif m_from.match(line) >= 0:
             (a, b), (a1, b1) = m_from.regs[:2]
         else: continue
-        words = string.splitfields(line[a1:b1], ',')
+        words = line[a1:b1].split(',')
         # print '#', line, words
         for word in words:
-            word = string.strip(word)
+            word = word.strip()
             if word not in list:
                 list.append(word)
 
@@ -152,7 +151,7 @@ def printresults(table):
     for mod in modules:
         list = table[mod]
         list.sort()
-        print string.ljust(mod, maxlen), ':',
+        print mod.ljust(maxlen), ':',
         if mod in list:
             print '(*)',
         for ref in list:
index 318c20e80ccca590f5c27a6b04f9656f220717ba..75175dc83aee9c6f9ea9b93d46b39234e4ffd8fc 100755 (executable)
@@ -83,7 +83,6 @@ EXPANDTABS = 0
 
 import os
 import re
-import string
 import sys
 
 next = {}
@@ -119,7 +118,7 @@ class PythonIndenter:
 
     def write(self, line):
         if self.expandtabs:
-            self._write(string.expandtabs(line, self.tabsize))
+            self._write(line.expandtabs(self.tabsize))
         else:
             self._write(line)
         # end if
@@ -270,7 +269,7 @@ class PythonIndenter:
                     thiskw = ''
                 # end if
             # end if
-            indent = len(string.expandtabs(line[:i], self.tabsize))
+            indent = len(line[:i].expandtabs(self.tabsize))
             while indent < current:
                 if firstkw:
                     if topid:
@@ -370,7 +369,7 @@ class StringReader:
         return r
     # end def read
     def readline(self):
-        i = string.find(self.buf, '\n', self.pos)
+        i = self.buf.find('\n', self.pos)
         return self.read(i + 1 - self.pos)
     # end def readline
     def readlines(self):
@@ -514,9 +513,9 @@ def test():
             # end if
             action = 'reformat'
         elif o == '-s':
-            stepsize = string.atoi(a)
+            stepsize = int(a)
         elif o == '-t':
-            tabsize = string.atoi(a)
+            tabsize = int(a)
         elif o == '-e':
             expandtabs = 1
         # end if
index 02712424078310d3fe3053c8a8a90a9469c34987..b64420645ede1eaf7f49a096f1896d7bc20b5897 100755 (executable)
@@ -7,7 +7,6 @@ Usage: rgrep [-i] pattern file
 
 import sys
 import re
-import string
 import getopt
 
 def main():
@@ -38,7 +37,7 @@ def main():
         pos = pos - size
         f.seek(pos)
         buffer = f.read(size)
-        lines = string.split(buffer, "\n")
+        lines = buffer.split("\n")
         del buffer
         if leftover is None:
             if not lines[-1]:
index 3efcc74a85a87a0e0bf6c8ddf4de936913455533..4250ddee03db811c603bc90f08d648262d14c29c 100755 (executable)
@@ -16,7 +16,6 @@ file ...  : files to sum; '-' or no files means stdin
 """ % bufsize
 
 import sys
-import string
 import os
 import md5
 import regsub
@@ -89,7 +88,7 @@ def main(args = sys.argv[1:], out = sys.stdout):
         if o == '-t':
             rmode = 'r'
         if o == '-s':
-            bufsize = string.atoi(a)
+            bufsize = int(a)
     if not args: args = ['-']
     return sum(args, out)
 
index f96e04f50372fa66c7a3f03b1f252d501046cf48..38e985e2848e7310e7cb4e16f22761f1efb59f5b 100644 (file)
@@ -83,7 +83,7 @@ Sample use, programmatically
    trace.print_results(show_missing=1)
 """
 
-import sys, os, string, tempfile, types, copy, operator, inspect, exceptions, marshal
+import sys, os, tempfile, types, copy, operator, inspect, exceptions, marshal
 try:
     import cPickle
     pickle = cPickle
@@ -177,7 +177,7 @@ class Ignore:
             # or
             #  d = "/usr/local.py"
             #  filename = "/usr/local.py"
-            if string.find(filename, d + os.sep) == 0:
+            if filename.startswith(d + os.sep):
                 self._ignore[modulename] = 1
                 return 1
 
@@ -341,13 +341,12 @@ class CoverageResults:
                     # '#pragma: NO COVER' (it is possible to embed this into
                     # the text as a non-comment; no easy fix)
                     if executable_linenos.has_key(i+1) and \
-                       string.find(lines[i],
-                                   string.join(['#pragma', 'NO COVER'])) == -1:
+                       lines[i].find(' '.join(['#pragma', 'NO COVER'])) == -1:
                         outfile.write('>>>>>> ')
                     else:
                         outfile.write(' '*7)
                     n_lines = n_lines + 1
-                outfile.write(string.expandtabs(lines[i], 8))
+                outfile.write(lines[i].expandtabs(8))
 
             outfile.close()
 
@@ -675,16 +674,16 @@ def main(argv=None):
             continue
 
         if opt == "--ignore-dir":
-            for s in string.split(val, os.pathsep):
+            for s in val.split(os.pathsep):
                 s = os.path.expandvars(s)
                 # should I also call expanduser? (after all, could use $HOME)
 
-                s = string.replace(s, "$prefix",
-                                   os.path.join(sys.prefix, "lib",
-                                                "python" + sys.version[:3]))
-                s = string.replace(s, "$exec_prefix",
-                                   os.path.join(sys.exec_prefix, "lib",
-                                                "python" + sys.version[:3]))
+                s = s.replace("$prefix",
+                              os.path.join(sys.prefix, "lib",
+                                           "python" + sys.version[:3]))
+                s = s.replace("$exec_prefix",
+                              os.path.join(sys.exec_prefix, "lib",
+                                           "python" + sys.version[:3]))
                 s = os.path.normpath(s)
                 ignore_dirs.append(s)
             continue
index 96beba000768b9de1e5a7c4cb9db966aeb8f1623..1064ab7b85e48291eb539349ac39d415aef3f1d5 100755 (executable)
@@ -23,7 +23,7 @@ entry in the master tree are synchronized.  This means:
 
 """
 
-import os, sys, stat, string, getopt
+import os, sys, stat, getopt
 
 # Interactivity options
 default_answer = "ask"
@@ -97,7 +97,7 @@ def process(slave, master):
     if cvsdir:
         entries = os.path.join(cvsdir, "Entries")
         for e in open(entries).readlines():
-            words = string.split(e, '/')
+            words = e.split('/')
             if words[0] == '' and words[1:]:
                 name = words[1]
                 s = os.path.join(slave, name)
@@ -188,10 +188,10 @@ def copy(src, dst, rmode="rb", wmode="wb", answer='ask'):
     g.close()
 
 def okay(prompt, answer='ask'):
-    answer = string.lower(string.strip(answer))
+    answer = answer.strip().lower()
     if not answer or answer[0] not in 'ny':
         answer = raw_input(prompt)
-        answer = string.lower(string.strip(answer))
+        answer = answer.strip().lower()
         if not answer:
             answer = default_answer
     if answer[:1] == 'y':
index 7be9f38420b485fde285aa866394c71172e24fa3..5eaf50ea65d6462a24bb039e07e25cc71af96aa9 100755 (executable)
@@ -4,7 +4,6 @@
 
 import os
 import sys
-import string
 import getopt
 
 def main():
@@ -32,7 +31,7 @@ def process(file, tabsize):
     except IOError, msg:
         print "%s: I/O error: %s" % (`file`, str(msg))
         return
-    newtext = string.expandtabs(text, tabsize)
+    newtext = text.expandtabs(tabsize)
     if newtext == text:
         return
     backup = file + "~"
index 96e242c0f1bbe1e86531d0dcf362da0becb15181..19e3203ff5f662b9671a8f83665918bf073f0bf0 100755 (executable)
@@ -7,13 +7,13 @@
 import sys
 if sys.path[0] in (".", ""): del sys.path[0]
 
-import sys, os, string
+import sys, os
 from stat import *
 
 def msg(str):
     sys.stderr.write(str + '\n')
 
-pathlist = string.splitfields(os.environ['PATH'], ':')
+pathlist = os.environ['PATH'].split(':')
 
 sts = 0
 longlist = ''
index 2567bc508b624560ffb67201922cf247874fe74f..681ce0b88eaf7c4a4b002c9da976a333cdb80c0b 100755 (executable)
@@ -9,7 +9,6 @@ import os
 from stat import *
 import commands
 import fnmatch
-import string
 
 EXECMAGIC = '\001\140\000\010'
 
@@ -57,7 +56,7 @@ def setup():
         f = open('.xxcign', 'r')
     except IOError:
         return
-    ignore[:] = ignore + string.split(f.read())
+    ignore[:] = ignore + f.read().split()
 
 def skipfile(file):
     for p in ignore:
index 0eeb335ede675fc14859c4207be6c044390f9a7a..a18e54838f761ef76e7a4b9f37ce840e45798c8d 100644 (file)
@@ -100,7 +100,7 @@ def makeunicodedata(unicode, trace):
         record = unicode.table[char]
         if record:
             if record[5]:
-                decomp = string.split(record[5])
+                decomp = record[5].split()
                 # prefix
                 if decomp[0][0] == "<":
                     prefix = decomp.pop(0)
@@ -362,7 +362,7 @@ def makeunicodename(unicode, trace):
         # indicates the last character in an entire string)
         ww = w[:-1] + chr(ord(w[-1])+128)
         # reuse string tails, when possible
-        o = string.find(lexicon, ww)
+        o = lexicon.find(ww)
         if o < 0:
             o = offset
             lexicon = lexicon + ww
@@ -442,7 +442,7 @@ def makeunicodename(unicode, trace):
 
 # load a unicode-data file from disk
 
-import string, sys
+import sys
 
 class UnicodeData:
 
@@ -453,8 +453,8 @@ class UnicodeData:
             s = file.readline()
             if not s:
                 break
-            s = string.split(string.strip(s), ";")
-            char = string.atoi(s[0], 16)
+            s = s.strip().split(";")
+            char = int(s[0], 16)
             table[char] = s
 
         # expand first-last ranges (ignore surrogates and private use)
@@ -490,7 +490,7 @@ class UnicodeData:
 
 def myhash(s, magic):
     h = 0
-    for c in map(ord, string.upper(s)):
+    for c in map(ord, s.upper()):
         h = (h * magic) + c
         ix = h & 0xff000000
         if ix:
@@ -598,7 +598,7 @@ class Array:
                     s = "    " + i
                 else:
                     s = s + i
-            if string.strip(s):
+            if s.strip():
                 file.write(s + "\n")
         file.write("};\n\n")
 
index 2420611a708d007f56dfec6a41559ba9037956e8..dcc56d32589904a050eb268c441c1cfa34593e52 100644 (file)
@@ -5,7 +5,6 @@ new versions available for any packages you have installed."""
 import os
 import getopt
 import sys
-import string
 import pyversioncheck
 
 CHECKNAME="_checkversion.py"
@@ -43,7 +42,7 @@ def main():
                sys.exit(1)
        for o, a in options:
                if o == '-v':
-                       VERBOSE = string.atoi(a)
+                       VERBOSE = int(a)
        if not arguments:
                arguments = [sys.prefix]
        for dir in arguments:
index b6e50d318c04854bfc0968f50379748275d33862..51bdd689fa406f9cb37ff19ef4fd7ca6ef7767b8 100644 (file)
@@ -3,7 +3,6 @@ import types
 import rfc822
 import urllib
 import sys
-import string
 
 # Verbose options
 VERBOSE_SILENT=0       # Single-line reports per package
@@ -60,8 +59,8 @@ def _check1version(package, url, version, verbose=0):
         if verbose >= VERBOSE_EACHFILE:
             print '    No "Current-Version:" header in URL or URL not found'
         return -1, None, None
-    version = string.strip(string.lower(version))
-    newversion = string.strip(string.lower(newversion))
+    version = version.lower().strip()
+    newversion = newversion.lower().strip()
     if version == newversion:
         if verbose >= VERBOSE_EACHFILE:
             print '    Version identical (%s)'%newversion
index 0db4d490880e35a5b0e6caa4dde0e47d61b3e876..3a68f9ac639fcfd7e05eed55b1a029fc1ca62ed7 100644 (file)
@@ -1,7 +1,6 @@
 """Assorted Tk-related subroutines used in Grail."""
 
 
-import string
 from types import *
 from Tkinter import *
 
@@ -335,7 +334,7 @@ def flatten(msg):
     """Turn a list or tuple into a single string -- recursively."""
     t = type(msg)
     if t in (ListType, TupleType):
-        msg = string.join(map(flatten, msg))
+        msg = ' '.join(map(flatten, msg))
     elif t is ClassType:
         msg = msg.__name__
     else:
@@ -345,7 +344,7 @@ def flatten(msg):
 
 def boolean(s):
     """Test whether a string is a Tk boolean, without error checking."""
-    if string.lower(s) in ('', '0', 'no', 'off', 'false'): return 0
+    if s.lower() in ('', '0', 'no', 'off', 'false'): return 0
     else: return 1
 
 
index ae012bfa8a7724eec8c49884f1682afc753a2f75..e467d922990105f24dd8d22251d465595c0cace3 100755 (executable)
@@ -60,7 +60,6 @@ XXX The multipanel user interface is clumsy.
 
 import sys
 import getopt
-import string
 from Tkinter import *
 import tktools
 import webchecker
@@ -86,7 +85,7 @@ def main():
     extra_roots = []
     for o, a in opts:
         if o == '-m':
-            webchecker.maxpage = string.atoi(a)
+            webchecker.maxpage = int(a)
         if o == '-q':
             webchecker.verbose = 0
         if o == '-v':
@@ -169,7 +168,7 @@ class CheckerWindow(webchecker.Checker):
         self.root_seed = None
         webchecker.Checker.__init__(self)
         if root:
-            root = string.strip(str(root))
+            root = str(root).strip()
             if root:
                 self.suggestroot(root)
         self.newstatus()
@@ -189,7 +188,7 @@ class CheckerWindow(webchecker.Checker):
 
     def enterroot(self, event=None):
         root = self.__rootentry.get()
-        root = string.strip(root)
+        root = root.strip()
         if root:
             self.__checking.config(text="Adding root "+root)
             self.__checking.update_idletasks()
@@ -353,7 +352,7 @@ class ListPanel:
     def selectedindices(self):
         l = self.list.curselection()
         if not l: return []
-        return map(string.atoi, l)
+        return map(int, l)
 
     def insert(self, url):
         if url not in self.items:
index fa70f6575e9ff6a681a525663439bc0e08a85de6..fd7f578b31badc3d74f67a43d71bec60ca47cb2f 100755 (executable)
@@ -109,7 +109,6 @@ __version__ = "$Revision$"
 import sys
 import os
 from types import *
-import string
 import StringIO
 import getopt
 import pickle
@@ -124,7 +123,7 @@ import robotparser
 
 # Extract real version number if necessary
 if __version__[0] == '$':
-    _v = string.split(__version__)
+    _v = __version__.split()
     if len(_v) == 3:
         __version__ = _v[1]
 
@@ -170,13 +169,13 @@ def main():
         if o == '-d':
             dumpfile = a
         if o == '-m':
-            maxpage = string.atoi(a)
+            maxpage = int(a)
         if o == '-n':
             norun = 1
         if o == '-q':
             verbose = 0
         if o == '-r':
-            roundsize = string.atoi(a)
+            roundsize = int(a)
         if o == '-t':
             extra_roots.append(a)
         if o == '-a':
@@ -248,7 +247,7 @@ def load_pickle(dumpfile=DUMPFILE, verbose=VERBOSE):
     f.close()
     if verbose > 0:
         print "Done."
-        print "Root:", string.join(c.roots, "\n      ")
+        print "Root:", "\n      ".join(c.roots)
     return c
 
 
@@ -316,7 +315,7 @@ class Checker:
             troot = root
             scheme, netloc, path, params, query, fragment = \
                     urlparse.urlparse(root)
-            i = string.rfind(path, "/") + 1
+            i = path.rfind("/") + 1
             if 0 < i < len(path):
                 path = path[:i]
                 troot = urlparse.urlunparse((scheme, netloc, path,
@@ -544,7 +543,7 @@ class Checker:
 
     def checkforhtml(self, info, url):
         if info.has_key('content-type'):
-            ctype = string.lower(cgi.parse_header(info['content-type'])[0])
+            ctype = cgi.parse_header(info['content-type'])[0].lower()
         else:
             if url[-1:] == "/":
                 return 1
@@ -809,7 +808,7 @@ class MyHTMLParser(sgmllib.SGMLParser):
     def do_link(self, attributes):
         for name, value in attributes:
             if name == "rel":
-                parts = string.split(string.lower(value))
+                parts = value.lower().split()
                 if (  parts == ["stylesheet"]
                       or parts == ["alternate", "stylesheet"]):
                     self.link_attr(attributes, "href")
@@ -836,13 +835,13 @@ class MyHTMLParser(sgmllib.SGMLParser):
     def link_attr(self, attributes, *args):
         for name, value in attributes:
             if name in args:
-                if value: value = string.strip(value)
+                if value: value = value.strip()
                 if value: self.links[value] = None
 
     def do_base(self, attributes):
         for name, value in attributes:
             if name == 'href':
-                if value: value = string.strip(value)
+                if value: value = value.strip()
                 if value:
                     if self.checker:
                         self.checker.note(1, "  Base %s", value)
index 5f726b36ce8593ff6a0fc17e653b2e9d4e2b38f3..ef2fa44d7e08a321a4094b310cebf4cbb1789403 100755 (executable)
@@ -6,7 +6,6 @@ __version__ = "$Revision$"
 
 import os
 import sys
-import string
 import urllib
 import getopt
 
@@ -14,7 +13,7 @@ import webchecker
 
 # Extract real version number if necessary
 if __version__[0] == '$':
-    _v = string.split(__version__)
+    _v = __version__.split()
     if len(_v) == 3:
         __version__ = _v[1]
 
@@ -90,14 +89,14 @@ class Sucker(webchecker.Checker):
     def savefilename(self, url):
         type, rest = urllib.splittype(url)
         host, path = urllib.splithost(rest)
-        while path[:1] == "/": path = path[1:]
+        path = path.lstrip("/")
         user, host = urllib.splituser(host)
         host, port = urllib.splitnport(host)
-        host = string.lower(host)
+        host = host.lower()
         if not path or path[-1] == "/":
             path = path + "index.html"
         if os.sep != "/":
-            path = string.join(string.split(path, "/"), os.sep)
+            path = os.sep.join(path.split("/"))
             if os.name == "mac":
                 path = os.sep + path
         path = os.path.join(host, path)
index c301c6fdaf43810ff6de51cd2f19c42a0897da05..e44c6cd745dd5d1af40ed2fdf01a127d937290dc 100755 (executable)
@@ -8,7 +8,6 @@ their respective text boxes, click GO or hit return, and presto.
 
 from Tkinter import *
 import Tkinter
-import string
 import websucker
 import sys
 import os
@@ -150,13 +149,13 @@ class App:
             return
         self.url_entry.selection_range(0, END)
         url = self.url_entry.get()
-        url = string.strip(url)
+        url = url.strip()
         if not url:
             self.top.bell()
             self.message("[Error: No URL entered]")
             return
         self.rooturl = url
-        dir = string.strip(self.dir_entry.get())
+        dir = self.dir_entry.get().strip()
         if not dir:
             self.sucker.savedir = None
         else:
@@ -184,7 +183,7 @@ class App:
                 text = self.top.selection_get(selection=t)
             except TclError:
                 continue
-            text = string.strip(text)
+            text = text.strip()
             if text:
                 break
         if not text: