[Python-checkins] r75304 - in python/trunk/Lib: distutils/dist.py encodings/__init__.py idlelib/rpc.py imputil.py lib-tk/Tix.py lib-tk/Tkinter.py timeit.py

benjamin.peterson python-checkins at python.org
Sat Oct 10 00:05:45 CEST 2009


Author: benjamin.peterson
Date: Sat Oct 10 00:05:45 2009
New Revision: 75304

Log:
replace callable()

Modified:
   python/trunk/Lib/distutils/dist.py
   python/trunk/Lib/encodings/__init__.py
   python/trunk/Lib/idlelib/rpc.py
   python/trunk/Lib/imputil.py
   python/trunk/Lib/lib-tk/Tix.py
   python/trunk/Lib/lib-tk/Tkinter.py
   python/trunk/Lib/timeit.py

Modified: python/trunk/Lib/distutils/dist.py
==============================================================================
--- python/trunk/Lib/distutils/dist.py	(original)
+++ python/trunk/Lib/distutils/dist.py	Sat Oct 10 00:05:45 2009
@@ -545,7 +545,7 @@
             for (help_option, short, desc, func) in cmd_class.help_options:
                 if hasattr(opts, parser.get_attr_name(help_option)):
                     help_option_found=1
-                    if callable(func):
+                    if hasattr(func, '__call__'):
                         func()
                     else:
                         raise DistutilsClassError(

Modified: python/trunk/Lib/encodings/__init__.py
==============================================================================
--- python/trunk/Lib/encodings/__init__.py	(original)
+++ python/trunk/Lib/encodings/__init__.py	Sat Oct 10 00:05:45 2009
@@ -123,12 +123,12 @@
             raise CodecRegistryError,\
                  'module "%s" (%s) failed to register' % \
                   (mod.__name__, mod.__file__)
-        if not callable(entry[0]) or \
-           not callable(entry[1]) or \
-           (entry[2] is not None and not callable(entry[2])) or \
-           (entry[3] is not None and not callable(entry[3])) or \
-           (len(entry) > 4 and entry[4] is not None and not callable(entry[4])) or \
-           (len(entry) > 5 and entry[5] is not None and not callable(entry[5])):
+        if not hasattr(entry[0], '__call__') or \
+           not hasattr(entry[1], '__call__') or \
+           (entry[2] is not None and not hasattr(entry[2], '__call__')) or \
+           (entry[3] is not None and not hasattr(entry[3], '__call__')) or \
+           (len(entry) > 4 and entry[4] is not None and not hasattr(entry[4], '__call__')) or \
+           (len(entry) > 5 and entry[5] is not None and not hasattr(entry[5], '__call__')):
             raise CodecRegistryError,\
                 'incompatible codecs in module "%s" (%s)' % \
                 (mod.__name__, mod.__file__)

Modified: python/trunk/Lib/idlelib/rpc.py
==============================================================================
--- python/trunk/Lib/idlelib/rpc.py	(original)
+++ python/trunk/Lib/idlelib/rpc.py	Sat Oct 10 00:05:45 2009
@@ -570,7 +570,7 @@
     # Adds names to dictionary argument 'methods'
     for name in dir(obj):
         attr = getattr(obj, name)
-        if callable(attr):
+        if hasattr(attr, '__call__'):
             methods[name] = 1
     if type(obj) == types.InstanceType:
         _getmethods(obj.__class__, methods)
@@ -581,7 +581,7 @@
 def _getattributes(obj, attributes):
     for name in dir(obj):
         attr = getattr(obj, name)
-        if not callable(attr):
+        if not hasattr(attr, '__call__'):
             attributes[name] = 1
 
 class MethodProxy(object):

Modified: python/trunk/Lib/imputil.py
==============================================================================
--- python/trunk/Lib/imputil.py	(original)
+++ python/trunk/Lib/imputil.py	Sat Oct 10 00:05:45 2009
@@ -51,7 +51,7 @@
         self.namespace['__import__'] = self.previous_importer
 
     def add_suffix(self, suffix, importFunc):
-        assert callable(importFunc)
+        assert hasattr(importFunc, '__call__')
         self.fs_imp.add_suffix(suffix, importFunc)
 
     ######################################################################
@@ -539,7 +539,7 @@
         self.suffixes = [ ]
 
     def add_suffix(self, suffix, importFunc):
-        assert callable(importFunc)
+        assert hasattr(importFunc, '__call__')
         self.suffixes.append((suffix, importFunc))
 
     def import_from_dir(self, dir, fqname):

Modified: python/trunk/Lib/lib-tk/Tix.py
==============================================================================
--- python/trunk/Lib/lib-tk/Tix.py	(original)
+++ python/trunk/Lib/lib-tk/Tix.py	Sat Oct 10 00:05:45 2009
@@ -405,7 +405,7 @@
         elif kw: cnf = kw
         options = ()
         for k, v in cnf.items():
-            if callable(v):
+            if hasattr(v, '__call__'):
                 v = self._register(v)
             options = options + ('-'+k, v)
         return master.tk.call(('image', 'create', imgtype,) + options)

Modified: python/trunk/Lib/lib-tk/Tkinter.py
==============================================================================
--- python/trunk/Lib/lib-tk/Tkinter.py	(original)
+++ python/trunk/Lib/lib-tk/Tkinter.py	Sat Oct 10 00:05:45 2009
@@ -1047,7 +1047,7 @@
         for k, v in cnf.items():
             if v is not None:
                 if k[-1] == '_': k = k[:-1]
-                if callable(v):
+                if hasattr(v, '__call__'):
                     v = self._register(v)
                 elif isinstance(v, (tuple, list)):
                     nv = []
@@ -3194,7 +3194,7 @@
         elif kw: cnf = kw
         options = ()
         for k, v in cnf.items():
-            if callable(v):
+            if hasattr(v, '__call__'):
                 v = self._register(v)
             options = options + ('-'+k, v)
         self.tk.call(('image', 'create', imgtype, name,) + options)
@@ -3217,7 +3217,7 @@
         for k, v in _cnfmerge(kw).items():
             if v is not None:
                 if k[-1] == '_': k = k[:-1]
-                if callable(v):
+                if hasattr(v, '__call__'):
                     v = self._register(v)
                 res = res + ('-'+k, v)
         self.tk.call((self.name, 'config') + res)

Modified: python/trunk/Lib/timeit.py
==============================================================================
--- python/trunk/Lib/timeit.py	(original)
+++ python/trunk/Lib/timeit.py	Sat Oct 10 00:05:45 2009
@@ -126,7 +126,7 @@
             if isinstance(setup, basestring):
                 setup = reindent(setup, 4)
                 src = template % {'stmt': stmt, 'setup': setup}
-            elif callable(setup):
+            elif hasattr(setup, '__call__'):
                 src = template % {'stmt': stmt, 'setup': '_setup()'}
                 ns['_setup'] = setup
             else:
@@ -135,13 +135,13 @@
             code = compile(src, dummy_src_name, "exec")
             exec code in globals(), ns
             self.inner = ns["inner"]
-        elif callable(stmt):
+        elif hasattr(stmt, '__call__'):
             self.src = None
             if isinstance(setup, basestring):
                 _setup = setup
                 def setup():
                     exec _setup in globals(), ns
-            elif not callable(setup):
+            elif not hasattr(setup, '__call__'):
                 raise ValueError("setup is neither a string nor callable")
             self.inner = _template_func(setup, stmt)
         else:


More information about the Python-checkins mailing list