]> granicus.if.org Git - python/commitdiff
Get rid of many apply() calls.
authorGuido van Rossum <guido@python.org>
Thu, 27 Feb 2003 20:14:51 +0000 (20:14 +0000)
committerGuido van Rossum <guido@python.org>
Thu, 27 Feb 2003 20:14:51 +0000 (20:14 +0000)
38 files changed:
Lib/BaseHTTPServer.py
Lib/UserList.py
Lib/atexit.py
Lib/bdb.py
Lib/cgi.py
Lib/copy.py
Lib/formatter.py
Lib/ihooks.py
Lib/imaplib.py
Lib/logging/__init__.py
Lib/logging/config.py
Lib/mhlib.py
Lib/mimify.py
Lib/modulefinder.py
Lib/nntplib.py
Lib/os.py
Lib/pdb.py
Lib/pre.py
Lib/profile.py
Lib/pstats.py
Lib/pty.py
Lib/pydoc.py
Lib/rexec.py
Lib/robotparser.py
Lib/sched.py
Lib/telnetlib.py
Lib/test/test_extcall.py
Lib/test/test_struct.py
Lib/threading.py
Lib/tokenize.py
Lib/trace.py
Lib/unittest.py
Lib/urllib.py
Lib/xdrlib.py
Lib/xml/dom/__init__.py
Lib/xml/sax/expatreader.py
Lib/xmllib.py
Lib/xmlrpclib.py

index 043f9b284f81c50b6e093a08c2aae37ae12b39c6..195d54a3be173abdddab23f2e982fb31dbb1daf9 100644 (file)
@@ -415,7 +415,7 @@ class BaseHTTPRequestHandler(SocketServer.StreamRequestHandler):
 
         """
 
-        apply(self.log_message, args)
+        self.log_message(*args)
 
     def log_message(self, format, *args):
         """Log an arbitrary message.
index 69f683e09d8af0c233a5d656c338b5c0f38667fb..76cf31fda04babe9e52df9c875072a8069c08bd9 100644 (file)
@@ -77,7 +77,7 @@ class UserList:
     def count(self, item): return self.data.count(item)
     def index(self, item): return self.data.index(item)
     def reverse(self): self.data.reverse()
-    def sort(self, *args): apply(self.data.sort, args)
+    def sort(self, *args): self.data.sort(*args)
     def extend(self, other):
         if isinstance(other, UserList):
             self.data.extend(other.data)
index b5929fc15af27f81fba0e756d967c966bea130c7..59d5cf37fecdda12c2c8db39a1e518a18de9d25c 100644 (file)
@@ -17,7 +17,7 @@ def _run_exitfuncs():
 
     while _exithandlers:
         func, targs, kargs = _exithandlers.pop()
-        apply(func, targs, kargs)
+        func(*targs, **kargs)
 
 def register(func, *targs, **kargs):
     """register a function to be executed upon normal program termination
index b81a9fdc3450531fdc485d7a17aafe1d6f511d61..45e9d038ef9b6581e511c737693d2c12b0dfa076 100644 (file)
@@ -385,7 +385,7 @@ class Bdb:
         res = None
         try:
             try:
-                res = apply(func, args)
+                res = func(*args)
             except BdbQuit:
                 pass
         finally:
index cf0146f407274ee797cbd548daf8bbc404787420..ac7192b84f8afa1473e2515ede5ce8b8fd95c924 100755 (executable)
@@ -88,7 +88,7 @@ def initlog(*allargs):
         log = nolog
     else:
         log = dolog
-    apply(log, allargs)
+    log(*allargs)
 
 def dolog(fmt, *args):
     """Write a log message to the log file.  See initlog() for docs."""
index 7b82adbeb25a7885d9ece1cdb7ba970974c09cfc..a4a3cebd530af77de413922641a712871cd2b05d 100644 (file)
@@ -140,7 +140,7 @@ def _copy_inst(x):
         return x.__copy__()
     if hasattr(x, '__getinitargs__'):
         args = x.__getinitargs__()
-        y = apply(x.__class__, args)
+        y = x.__class__(*args)
     else:
         y = _EmptyClass()
         y.__class__ = x.__class__
@@ -293,7 +293,7 @@ def _deepcopy_inst(x, memo):
     if hasattr(x, '__getinitargs__'):
         args = x.__getinitargs__()
         args = deepcopy(args, memo)
-        y = apply(x.__class__, args)
+        y = x.__class__(*args)
     else:
         y = _EmptyClass()
         y.__class__ = x.__class__
index 6ea5d9ed389f98ce425ed54e53443dbec58d96cc..3868b1b6b67d32489ad09c2e95a8c404795c1f94 100644 (file)
@@ -108,7 +108,7 @@ class AbstractFormatter:
     def add_hor_rule(self, *args, **kw):
         if not self.hard_break:
             self.writer.send_line_break()
-        apply(self.writer.send_hor_rule, args, kw)
+        self.writer.send_hor_rule(*args, **kw)
         self.hard_break = self.nospace = 1
         self.have_label = self.para_end = self.softspace = self.parskip = 0
 
index f01862df76cf66089adfb6aa5537cf39b01c9df3..4034b01a83fe930b254dc739130f1b2c1aad3d2b 100644 (file)
@@ -83,7 +83,7 @@ class _Verbose:
 
     def note(self, *args):
         if self.verbose:
-            apply(self.message, args)
+            self.message(*args)
 
     def message(self, format, *args):
         if args:
@@ -194,7 +194,7 @@ class Hooks(_Verbose):
     def path_islink(self, x): return os.path.islink(x)
     # etc.
 
-    def openfile(self, *x): return apply(open, x)
+    def openfile(self, *x): return open(*x)
     openfile_error = IOError
     def listdir(self, x): return os.listdir(x)
     listdir_error = os.error
index 6a27a67e12c926a05bd9738d2616082ac8295672..c3d56a782f23c2ed5ecaf1a03b8275e50d097313 100644 (file)
@@ -579,9 +579,9 @@ class IMAP4:
         """
         name = 'SEARCH'
         if charset:
-            typ, dat = apply(self._simple_command, (name, 'CHARSET', charset) + criteria)
+            typ, dat = self._simple_command(name, 'CHARSET', charset, *criteria)
         else:
-            typ, dat = apply(self._simple_command, (name,) + criteria)
+            typ, dat = self._simple_command(name, *criteria)
         return self._untagged_response(typ, dat, name)
 
 
@@ -642,7 +642,7 @@ class IMAP4:
         #       raise self.error('unimplemented extension command: %s' % name)
         if (sort_criteria[0],sort_criteria[-1]) != ('(',')'):
             sort_criteria = '(%s)' % sort_criteria
-        typ, dat = apply(self._simple_command, (name, sort_criteria, charset) + search_criteria)
+        typ, dat = self._simple_command(name, sort_criteria, charset, *search_criteria)
         return self._untagged_response(typ, dat, name)
 
 
@@ -692,7 +692,7 @@ class IMAP4:
             raise self.error('command %s illegal in state %s'
                                     % (command, self.state))
         name = 'UID'
-        typ, dat = apply(self._simple_command, (name, command) + args)
+        typ, dat = self._simple_command(name, command, *args)
         if command in ('SEARCH', 'SORT'):
             name = command
         else:
@@ -723,7 +723,7 @@ class IMAP4:
         #    raise self.error('unknown extension command: %s' % name)
         if not name in Commands:
             Commands[name] = (self.state,)
-        return apply(self._simple_command, (name,) + args)
+        return self._simple_command(name, *args)
 
 
 
@@ -995,7 +995,7 @@ class IMAP4:
 
     def _simple_command(self, name, *args):
 
-        return self._command_complete(name, apply(self._command, (name,) + args))
+        return self._command_complete(name, self._command(name, *args))
 
 
     def _untagged_response(self, typ, dat, name):
@@ -1040,7 +1040,7 @@ class IMAP4:
             i, n = self._cmd_log_idx, self._cmd_log_len
             while n:
                 try:
-                    apply(self._mesg, self._cmd_log[i])
+                    self._mesg(*self._cmd_log[i])
                 except:
                     pass
                 i += 1
@@ -1390,7 +1390,7 @@ if __name__ == '__main__':
 
     def run(cmd, args):
         M._mesg('%s %s' % (cmd, args))
-        typ, dat = apply(getattr(M, cmd), args)
+        typ, dat = getattr(M, cmd)(*args)
         M._mesg('%s => %s %s' % (cmd, typ, dat))
         if typ == 'NO': raise dat[0]
         return dat
index 12a40b029a5e7ef1072c69c1f0dfdd92dd386025..99e4260c0b156c13ee95a1a27ecf36fae425450a 100644 (file)
@@ -874,7 +874,7 @@ class Logger(Filterer):
         if self.manager.disable >= DEBUG:
             return
         if DEBUG >= self.getEffectiveLevel():
-            apply(self._log, (DEBUG, msg, args), kwargs)
+            self._log(DEBUG, msg, args, **kwargs)
 
     def info(self, msg, *args, **kwargs):
         """
@@ -888,7 +888,7 @@ class Logger(Filterer):
         if self.manager.disable >= INFO:
             return
         if INFO >= self.getEffectiveLevel():
-            apply(self._log, (INFO, msg, args), kwargs)
+            self._log(INFO, msg, args, **kwargs)
 
     def warning(self, msg, *args, **kwargs):
         """
@@ -902,7 +902,7 @@ class Logger(Filterer):
         if self.manager.disable >= WARNING:
             return
         if self.isEnabledFor(WARNING):
-            apply(self._log, (WARNING, msg, args), kwargs)
+            self._log(WARNING, msg, args, **kwargs)
 
     warn = warning
 
@@ -918,13 +918,13 @@ class Logger(Filterer):
         if self.manager.disable >= ERROR:
             return
         if self.isEnabledFor(ERROR):
-            apply(self._log, (ERROR, msg, args), kwargs)
+            self._log(ERROR, msg, args, **kwargs)
 
     def exception(self, msg, *args):
         """
         Convenience method for logging an ERROR with exception information.
         """
-        apply(self.error, (msg,) + args, {'exc_info': 1})
+        self.error(msg, exc_info=1, *args)
 
     def critical(self, msg, *args, **kwargs):
         """
@@ -938,7 +938,7 @@ class Logger(Filterer):
         if self.manager.disable >= CRITICAL:
             return
         if CRITICAL >= self.getEffectiveLevel():
-            apply(self._log, (CRITICAL, msg, args), kwargs)
+            self._log(CRITICAL, msg, args, **kwargs)
 
     fatal = critical
 
@@ -954,7 +954,7 @@ class Logger(Filterer):
         if self.manager.disable >= level:
             return
         if self.isEnabledFor(level):
-            apply(self._log, (level, msg, args), kwargs)
+            self._log(level, msg, args, **kwargs)
 
     def findCaller(self):
         """
@@ -1131,7 +1131,7 @@ def critical(msg, *args, **kwargs):
     """
     if len(root.handlers) == 0:
         basicConfig()
-    apply(root.critical, (msg,)+args, kwargs)
+    root.critical(msg, *args, **kwargs)
 
 fatal = critical
 
@@ -1141,14 +1141,14 @@ def error(msg, *args, **kwargs):
     """
     if len(root.handlers) == 0:
         basicConfig()
-    apply(root.error, (msg,)+args, kwargs)
+    root.error(msg, *args, **kwargs)
 
 def exception(msg, *args):
     """
     Log a message with severity 'ERROR' on the root logger,
     with exception information.
     """
-    apply(error, (msg,)+args, {'exc_info': 1})
+    error(msg, exc_info=1, *args)
 
 def warning(msg, *args, **kwargs):
     """
@@ -1156,7 +1156,7 @@ def warning(msg, *args, **kwargs):
     """
     if len(root.handlers) == 0:
         basicConfig()
-    apply(root.warning, (msg,)+args, kwargs)
+    root.warning(msg, *args, **kwargs)
 
 warn = warning
 
@@ -1166,7 +1166,7 @@ def info(msg, *args, **kwargs):
     """
     if len(root.handlers) == 0:
         basicConfig()
-    apply(root.info, (msg,)+args, kwargs)
+    root.info(msg, *args, **kwargs)
 
 def debug(msg, *args, **kwargs):
     """
@@ -1174,7 +1174,7 @@ def debug(msg, *args, **kwargs):
     """
     if len(root.handlers) == 0:
         basicConfig()
-    apply(root.debug, (msg,)+args, kwargs)
+    root.debug(msg, *args, **kwargs)
 
 def disable(level):
     """
index 933bdc7afc3c02d1f04338676616533b8721511e..8f692c3df2fb1fbc145fac0f788cbf14424d5deb 100644 (file)
@@ -102,7 +102,7 @@ def fileConfig(fname, defaults=None):
                     klass = eval(klass, vars(logging))
                     args = cp.get(sectname, "args")
                     args = eval(args, vars(logging))
-                    h = apply(klass, args)
+                    h = klass(*args)
                     if "level" in opts:
                         level = cp.get(sectname, "level")
                         h.setLevel(logging._levelNames[level])
index e463c036b3897046af9330eea16804707880bd08..5520f8238e6a8202dd07aa41352746259c3fd505 100644 (file)
@@ -251,7 +251,7 @@ class Folder:
 
     def error(self, *args):
         """Error message handler."""
-        apply(self.mh.error, args)
+        self.mh.error(*args)
 
     def getfullname(self):
         """Return the full pathname of the folder."""
index 6dc0921e435f772eaf0e99841ab0f65c47372527..b6f61439d758d4f7d375a9649f6bf3624b886a7a 100755 (executable)
@@ -461,4 +461,4 @@ if __name__ == '__main__' or (len(sys.argv) > 0 and sys.argv[0] == 'mimify'):
         encode_args = (args[0], args[1])
     if decode_base64:
         encode_args = encode_args + (decode_base64,)
-    apply(encode, encode_args)
+    encode(*encode_args)
index fcb80de47829a861d51f6d7aacf57c94246f1551..f551a7653187303d9ddddd1a1d794f0df1c21e20 100644 (file)
@@ -97,13 +97,13 @@ class ModuleFinder:
         level = args[0]
         if level <= self.debug:
             self.indent = self.indent + 1
-            apply(self.msg, args)
+            self.msg(*args)
 
     def msgout(self, *args):
         level = args[0]
         if level <= self.debug:
             self.indent = self.indent - 1
-            apply(self.msg, args)
+            self.msg(*args)
 
     def run_script(self, pathname):
         self.msg(2, "run_script", pathname)
index 16e7550f7963be7735aef5f6f907cf13ee5ed7c0..d52286f47629bb7792106bdd8a22d74475fccf94 100644 (file)
@@ -41,7 +41,7 @@ __all__ = ["NNTP","NNTPReplyError","NNTPTemporaryError",
 class NNTPError(Exception):
     """Base class for all nntplib exceptions"""
     def __init__(self, *args):
-        apply(Exception.__init__, (self,)+args)
+        Exception.__init__(self, *args)
         try:
             self.response = args[0]
         except IndexError:
index 4d40f652c87bd53bfedf267082ea4b6c3f9725b1..358c8c6269fa6ac8e80654843290f4bee3ee1451 100644 (file)
--- a/Lib/os.py
+++ b/Lib/os.py
@@ -271,7 +271,7 @@ def _execvpe(file, args, env=None):
 
     head, tail = path.split(file)
     if head:
-        apply(func, (file,) + argrest)
+        func(file, *argrest)
         return
     if 'PATH' in env:
         envpath = env['PATH']
@@ -283,7 +283,7 @@ def _execvpe(file, args, env=None):
     for dir in PATH:
         fullname = path.join(dir, file)
         try:
-            apply(func, (fullname,) + argrest)
+            func(fullname, *argrest)
         except error, e:
             tb = sys.exc_info()[2]
             if (e.errno != ENOENT and e.errno != ENOTDIR
index 6ae28853299414fcbacb9b9975d114bb29fbf65b..d7215cfa7b742ea64b2cffc440273c51591991e9 100755 (executable)
@@ -948,7 +948,7 @@ def runctx(statement, globals, locals):
     run(statement, globals, locals)
 
 def runcall(*args):
-    return apply(Pdb().runcall, args)
+    return Pdb().runcall(*args)
 
 def set_trace():
     Pdb().set_trace()
index 8bbc1001f04dd0d1096618611ab5d65e4a418cb8..79fb042b53da9a13cddc3d1c90d90e482c11aa07 100644 (file)
@@ -505,7 +505,7 @@ class RegexObject:
         self.pattern = statetuple[0]
         self.flags = statetuple[1]
         self.groupindex = statetuple[2]
-        self.code = apply(pcre_compile, statetuple)
+        self.code = pcre_compile(*statetuple)
 
 class _Dummy:
     # Dummy class used by _subn_string().  Has 'group' to avoid core dump.
index c667db2c0eed9c143176d153cbc5a3110027a312..7c4b5a6d34482c1b961cb469d026009a094b6955 100755 (executable)
@@ -416,7 +416,7 @@ class Profile:
         self.set_cmd(`func`)
         sys.setprofile(self.dispatcher)
         try:
-            return apply(func, args, kw)
+            return func(*args, **kw)
         finally:
             sys.setprofile(None)
 
index d36dc9e922ddad5c275727f88038336efeb8bdcd..62854a8f0c6026b868bba491a86271d2548c538a 100644 (file)
@@ -76,7 +76,7 @@ class Stats:
             arg = args[0]
             args = args[1:]
         self.init(arg)
-        apply(self.add, args)
+        self.add(*args)
 
     def init(self, arg):
         self.all_callees = None  # calc only if needed
@@ -134,7 +134,7 @@ class Stats:
 
     def add(self, *arg_list):
         if not arg_list: return self
-        if len(arg_list) > 1: apply(self.add, arg_list[1:])
+        if len(arg_list) > 1: self.add(*arg_list[1:])
         other = arg_list[0]
         if type(self) != type(other) or self.__class__ != other.__class__:
             other = Stats(other)
@@ -528,7 +528,7 @@ if __name__ == '__main__':
                     pass
                 processed.append(term)
             if self.stats:
-                apply(getattr(self.stats, fn), processed)
+                getattr(self.stats, fn)(*processed)
             else:
                 print "No statistics object is loaded."
             return 0
@@ -594,7 +594,7 @@ if __name__ == '__main__':
         def do_sort(self, line):
             abbrevs = self.stats.get_sort_arg_defs()
             if line and not filter(lambda x,a=abbrevs: x not in a,line.split()):
-                apply(self.stats.sort_stats, line.split())
+                self.stats.sort_stats(*line.split())
             else:
                 print "Valid sort keys (unique prefixes are accepted):"
                 for (key, value) in Stats.sort_arg_dict_default.iteritems():
index 8af32ba0f5a409bec70d99def4ede0ca0f3e6eed..a70a865dc36188d614d7940417d9b7ca884293c1 100644 (file)
@@ -163,7 +163,7 @@ def spawn(argv, master_read=_read, stdin_read=_read):
         argv = (argv,)
     pid, master_fd = fork()
     if pid == CHILD:
-        apply(os.execlp, (argv[0],) + argv)
+        os.execlp(argv[0], *argv)
     try:
         mode = tty.tcgetattr(STDIN_FILENO)
         tty.setraw(STDIN_FILENO)
index 451373320324f5aa6f8db5bb319b04590e46da01..90df45bd8225f42608f8233acd0134b5016856b3 100755 (executable)
@@ -266,10 +266,10 @@ class Doc:
     def document(self, object, name=None, *args):
         """Generate documentation for an object."""
         args = (object, name) + args
-        if inspect.ismodule(object): return apply(self.docmodule, args)
-        if inspect.isclass(object): return apply(self.docclass, args)
-        if inspect.isroutine(object): return apply(self.docroutine, args)
-        return apply(self.docother, args)
+        if inspect.ismodule(object): return self.docmodule(*args)
+        if inspect.isclass(object): return self.docclass(*args)
+        if inspect.isroutine(object): returnself.docroutine(*args)
+        return self.docother(*args)
 
     def fail(self, object, name=None, *args):
         """Raise an exception for unimplemented types."""
@@ -379,7 +379,7 @@ TT { font-family: lucidatypewriter, lucida console, courier }
     def bigsection(self, title, *args):
         """Format a section with a big heading."""
         title = '<big><strong>%s</strong></big>' % title
-        return apply(self.section, (title,) + args)
+        return self.section(title, *args)
 
     def preformat(self, text):
         """Format literal preformatted text."""
index f7aa6402b04928694514197dea490d90371987e4..203a1e9e735069e4c4f6250c65430b71ea7b024c 100644 (file)
@@ -48,7 +48,7 @@ class FileWrapper(FileBase):
 
 TEMPLATE = """
 def %s(self, *args):
-        return apply(getattr(self.mod, self.name).%s, args)
+        return getattr(self.mod, self.name).%s(*args)
 """
 
 class FileDelegate(FileBase):
@@ -407,14 +407,11 @@ class RExec(ihooks._Verbose):
         sys.stdout = self.save_stdout
         sys.stderr = self.save_stderr
 
-    def s_apply(self, func, args=(), kw=None):
+    def s_apply(self, func, args=(), kw={}):
         self.save_files()
         try:
             self.set_files()
-            if kw:
-                r = apply(func, args, kw)
-            else:
-                r = apply(func, args)
+            r = func(*args, **kw)
         finally:
             self.restore_files()
         return r
index 71dcaeeaf5b60373a167b374fc530b09140d149e..e2af545848b0029517f12cfe46c2f45b2dbec31c 100644 (file)
@@ -230,7 +230,7 @@ class Entry:
 
 class URLopener(urllib.FancyURLopener):
     def __init__(self, *args):
-        apply(urllib.FancyURLopener.__init__, (self,) + args)
+        urllib.FancyURLopener.__init__(self, *args)
         self.errcode = 200
 
     def http_error_default(self, url, fp, errcode, errmsg, headers):
index ba5f33a6ae1e0bacc4ba3cdc0fddc21bcc68c8f3..2b599eed902fa856b66abf3089b6c2685fa09ca0 100644 (file)
@@ -102,5 +102,5 @@ class scheduler:
                 self.delayfunc(time - now)
             else:
                 del q[0]
-                void = apply(action, argument)
+                void = action(*argument)
                 self.delayfunc(0)   # Let other threads run
index 4d038619a7d986ef9c471a00eebb0571d253e742..85e4c461bfdb1b64d948363e71fc80fc4d156548 100644 (file)
@@ -311,7 +311,7 @@ class Telnet:
         s_args = s_reply
         if timeout is not None:
             s_args = s_args + (timeout,)
-        while not self.eof and apply(select.select, s_args) == s_reply:
+        while not self.eof and select.select(*s_args) == s_reply:
             i = max(0, len(self.cookedq)-n)
             self.fill_rawq()
             self.process_rawq()
index 30439a46695da09710064ebcd6473daf8db211e6..d3c2e3f26a0177025c9b8fe3e696da709f002f34 100644 (file)
@@ -239,5 +239,5 @@ for name in ['za', 'zade', 'zabk', 'zabdv', 'zabdevk']:
             kwdict = {}
             for k in kwargs: kwdict[k] = k + k
             print func.func_name, args, sortdict(kwdict), '->',
-            try: apply(func, args, kwdict)
+            try: func(*args, **kwdict)
             except TypeError, err: print err
index b9895d458e0b44ebeecf9f6709a7dea932474f40..bc0ace8525faa4a7add6940f4572cf571627dba3 100644 (file)
@@ -1,6 +1,5 @@
 from test.test_support import TestFailed, verbose, verify
 import struct
-## import pdb
 
 import sys
 ISBIGENDIAN = sys.byteorder == "big"
@@ -21,23 +20,21 @@ def bigendian_to_native(value):
 
 def simple_err(func, *args):
     try:
-        apply(func, args)
+        func(*args)
     except struct.error:
         pass
     else:
         raise TestFailed, "%s%s did not raise struct.error" % (
             func.__name__, args)
-##      pdb.set_trace()
 
 def any_err(func, *args):
     try:
-        apply(func, args)
+        func(*args)
     except (struct.error, OverflowError, TypeError):
         pass
     else:
         raise TestFailed, "%s%s did not raise error" % (
             func.__name__, args)
-##      pdb.set_trace()
 
 
 simple_err(struct.calcsize, 'Z')
index 81236da310f08723aa89141e12e321dcb2cdf929..1c37963a4904996700bcb15f3889248a92ee3f01 100644 (file)
@@ -57,7 +57,7 @@ else:
 Lock = _allocate_lock
 
 def RLock(*args, **kwargs):
-    return apply(_RLock, args, kwargs)
+    return _RLock(*args, **kwargs)
 
 class _RLock(_Verbose):
 
@@ -128,7 +128,7 @@ class _RLock(_Verbose):
 
 
 def Condition(*args, **kwargs):
-    return apply(_Condition, args, kwargs)
+    return _Condition(*args, **kwargs)
 
 class _Condition(_Verbose):
 
@@ -240,7 +240,7 @@ class _Condition(_Verbose):
 
 
 def Semaphore(*args, **kwargs):
-    return apply(_Semaphore, args, kwargs)
+    return _Semaphore(*args, **kwargs)
 
 class _Semaphore(_Verbose):
 
@@ -282,7 +282,7 @@ class _Semaphore(_Verbose):
 
 
 def BoundedSemaphore(*args, **kwargs):
-    return apply(_BoundedSemaphore, args, kwargs)
+    return _BoundedSemaphore(*args, **kwargs)
 
 class _BoundedSemaphore(_Semaphore):
     """Semaphore that checks that # releases is <= # acquires"""
@@ -297,7 +297,7 @@ class _BoundedSemaphore(_Semaphore):
 
 
 def Event(*args, **kwargs):
-    return apply(_Event, args, kwargs)
+    return _Event(*args, **kwargs)
 
 class _Event(_Verbose):
 
@@ -396,7 +396,7 @@ class Thread(_Verbose):
 
     def run(self):
         if self.__target:
-            apply(self.__target, self.__args, self.__kwargs)
+            self.__target(*self.__args, **self.__kwargs)
 
     def __bootstrap(self):
         try:
index 37ce049a79c3f15f435a1b5c88cc3560d210c31e..7e6fa1219acfd78d3bacd27a874414c132645867 100644 (file)
@@ -42,8 +42,8 @@ tok_name[NL] = 'NL'
 N_TOKENS += 2
 
 def group(*choices): return '(' + '|'.join(choices) + ')'
-def any(*choices): return apply(group, choices) + '*'
-def maybe(*choices): return apply(group, choices) + '?'
+def any(*choices): return group(*choices) + '*'
+def maybe(*choices): return group(*choices) + '?'
 
 Whitespace = r'[ \f\t]*'
 Comment = r'#[^\r\n]*'
@@ -157,7 +157,7 @@ def tokenize(readline, tokeneater=printtoken):
 # backwards compatible interface
 def tokenize_loop(readline, tokeneater):
     for token_info in generate_tokens(readline):
-        apply(tokeneater, token_info)
+        tokeneater(*token_info)
 
 def generate_tokens(readline):
     """
index e458d1d5852ae7ac4a6aa0df3277bbbf9d04dbeb..8b49a2ece28e563b106a1821ba3748a4153b5f6a 100644 (file)
@@ -471,7 +471,7 @@ class Trace:
         if not self.donothing:
             sys.settrace(self.globaltrace)
         try:
-            result = apply(func, args, kw)
+            result = func(*args, **kw)
         finally:
             if not self.donothing:
                 sys.settrace(None)
index 31d9cb4a59fa5b0e3585784cd424a7ddcb2e39b2..e85dcd1c73f29dd45b8a16b8eb15b457e7302584 100644 (file)
@@ -115,7 +115,7 @@ class TestResult:
 
     def _exc_info_to_string(self, err):
         """Converts a sys.exc_info()-style tuple of values into a string."""
-        return string.join(apply(traceback.format_exception, err), '')
+        return string.join(traceback.format_exception(*err), '')
 
     def __repr__(self):
         return "<%s run=%i errors=%i failures=%i>" % \
@@ -276,7 +276,7 @@ class TestCase:
            unexpected exception.
         """
         try:
-            apply(callableObj, args, kwargs)
+            callableObj(*args, **kwargs)
         except excClass:
             return
         else:
@@ -561,7 +561,7 @@ class _WritelnDecorator:
         return getattr(self.stream,attr)
 
     def writeln(self, *args):
-        if args: apply(self.write, args)
+        if args: self.write(*args)
         self.write('\n') # text-mode streams translate to \r\n if needed
 
 
index 4dd76dffa97b80f212b0d0bfad60081f2ef484fc..24667ec058c318376812412280c02485f971b678 100644 (file)
@@ -293,7 +293,7 @@ class URLopener:
             h.putrequest('GET', selector)
         if auth: h.putheader('Authorization', 'Basic %s' % auth)
         if realhost: h.putheader('Host', realhost)
-        for args in self.addheaders: apply(h.putheader, args)
+        for args in self.addheaders: h.putheader(*args)
         h.endheaders()
         if data is not None:
             h.send(data)
@@ -371,7 +371,7 @@ class URLopener:
                 h.putrequest('GET', selector)
             if auth: h.putheader('Authorization: Basic %s' % auth)
             if realhost: h.putheader('Host', realhost)
-            for args in self.addheaders: apply(h.putheader, args)
+            for args in self.addheaders: h.putheader(*args)
             h.endheaders()
             if data is not None:
                 h.send(data)
@@ -541,7 +541,7 @@ class FancyURLopener(URLopener):
     """Derived class with handlers for errors we can handle (perhaps)."""
 
     def __init__(self, *args, **kwargs):
-        apply(URLopener.__init__, (self,) + args, kwargs)
+        URLopener.__init__(self, *args, **kwargs)
         self.auth_cache = {}
         self.tries = 0
         self.maxtries = 10
@@ -804,7 +804,7 @@ class addclosehook(addbase):
     def close(self):
         addbase.close(self)
         if self.closehook:
-            apply(self.closehook, self.hookargs)
+            self.closehook(*self.hookargs)
             self.closehook = None
             self.hookargs = None
 
index 270604799d4dc5c0b6dae7532cf09efcb979d79e..dfb9742ff921344c64c0317817489df1aa6170bd 100644 (file)
@@ -246,7 +246,7 @@ def _test():
     for method, args in packtest:
         print 'pack test', count,
         try:
-            apply(method, args)
+            method(*args)
             print 'succeeded'
         except ConversionError, var:
             print 'ConversionError:', var.msg
@@ -272,7 +272,7 @@ def _test():
         print 'unpack test', count,
         try:
             if succeedlist[count]:
-                x = apply(method, args)
+                x = method(*args)
                 print pred(x) and 'succeeded' or 'failed', ':', x
             else:
                 print 'skipping'
index 40a1a76f363e4c55d47b0209b9a810dcb4482ae6..6363d00630d4bb0087c37e9a028b29f740c8d9ad 100644 (file)
@@ -66,7 +66,7 @@ class DOMException(Exception):
         if self.__class__ is DOMException:
             raise RuntimeError(
                 "DOMException should not be instantiated directly")
-        apply(Exception.__init__, (self,) + args, kw)
+        Exception.__init__(self, *args, **kw)
 
     def _get_code(self):
         return self.code
index 07d2974820fcf9e982a06ccb2ade4413acf0e68b..58ad77358110aece769b871f5ea36885768d2bec 100644 (file)
@@ -401,7 +401,7 @@ class ExpatParser(xmlreader.IncrementalParser, xmlreader.Locator):
 # ---
 
 def create_parser(*args, **kwargs):
-    return apply(ExpatParser, args, kwargs)
+    return ExpatParser(*args, **kwargs)
 
 # ---
 
index c261a2636cd6dcdb340105c9aca1b806b0f8783b..cdc861eb6894941941f02061b050a3e553ba5112 100644 (file)
@@ -809,7 +809,7 @@ class TestXMLParser(XMLParser):
 
     def __init__(self, **kw):
         self.testdata = ""
-        apply(XMLParser.__init__, (self,), kw)
+        XMLParser.__init__(self, **kw)
 
     def handle_xml(self, encoding, standalone):
         self.flush()
index 0cb9ba62c78ec61c7db50d38732f03283168d69f..8c1ef1f93b7100208a28a4da4432836f14bccf34 100644 (file)
@@ -720,7 +720,7 @@ class Unmarshaller:
         if self._type is None or self._marks:
             raise ResponseError()
         if self._type == "fault":
-            raise apply(Fault, (), self._stack[0])
+            raise Fault(**self._stack[0])
         return tuple(self._stack)
 
     def getmethodname(self):
@@ -1213,7 +1213,7 @@ class SafeTransport(Transport):
                 "your version of httplib doesn't support HTTPS"
                 )
         else:
-            return apply(HTTPS, (host, None), x509 or {})
+            return HTTPS(host, None, **(x509 or {}))
 
 ##
 # Standard server proxy.  This class establishes a virtual connection