[Checkins] SVN: zope.interface/branches/tseaver-no_2to3/src/zope/interface/ Drop unneeded compatibility shims for method / function attributes.

Tres Seaver cvs-admin at zope.org
Fri Apr 6 15:00:58 UTC 2012


Log message for revision 125004:
  Drop unneeded compatibility shims for method / function attributes.
  
   '__code__', '__defaults__', '__func__', and '__self__' all work fine on
  Python 2.6+.

Changed:
  U   zope.interface/branches/tseaver-no_2to3/src/zope/interface/_compat.py
  U   zope.interface/branches/tseaver-no_2to3/src/zope/interface/interface.py
  U   zope.interface/branches/tseaver-no_2to3/src/zope/interface/tests/test_registry.py
  U   zope.interface/branches/tseaver-no_2to3/src/zope/interface/verify.py

-=-
Modified: zope.interface/branches/tseaver-no_2to3/src/zope/interface/_compat.py
===================================================================
--- zope.interface/branches/tseaver-no_2to3/src/zope/interface/_compat.py	2012-04-06 09:32:31 UTC (rev 125003)
+++ zope.interface/branches/tseaver-no_2to3/src/zope/interface/_compat.py	2012-04-06 15:00:53 UTC (rev 125004)
@@ -29,10 +29,6 @@
     CLASS_TYPES = (type, types.ClassType)
     STRING_TYPES = (basestring,)
 
-    _FUNC_DEFAULTS = 'func_defaults'
-    _FUNC_CODE = 'func_code'
-    _IM_SELF = 'im_self'
-    _IM_FUNC = 'im_func'
     _BUILTINS = '__builtin__'
 
     PYTHON3 = False
@@ -53,10 +49,6 @@
     CLASS_TYPES = (type,)
     STRING_TYPES = (str,)
 
-    _FUNC_DEFAULTS = '__defaults__'
-    _FUNC_CODE = '__code__'
-    _IM_SELF = '__self__'
-    _IM_FUNC = '__func__'
     _BUILTINS = 'builtins'
 
     PYTHON3 = True

Modified: zope.interface/branches/tseaver-no_2to3/src/zope/interface/interface.py
===================================================================
--- zope.interface/branches/tseaver-no_2to3/src/zope/interface/interface.py	2012-04-06 09:32:31 UTC (rev 125003)
+++ zope.interface/branches/tseaver-no_2to3/src/zope/interface/interface.py	2012-04-06 15:00:53 UTC (rev 125004)
@@ -23,9 +23,6 @@
 
 from zope.interface.exceptions import Invalid
 from zope.interface.ro import ro
-from zope.interface._compat import _FUNC_CODE
-from zope.interface._compat import _FUNC_DEFAULTS
-from zope.interface._compat import _IM_FUNC
 
 
 CO_VARARGS = 4
@@ -642,8 +639,8 @@
 def fromFunction(func, interface=None, imlevel=0, name=None):
     name = name or func.__name__
     method = Method(name, func.__doc__)
-    defaults = getattr(func, _FUNC_DEFAULTS, None) or ()
-    code = getattr(func, _FUNC_CODE)
+    defaults = getattr(func, '__defaults__', None) or ()
+    code = getattr(func, '__code__')
     # Number of positional arguments
     na = code.co_argcount-imlevel
     names = code.co_varnames[imlevel:]
@@ -686,7 +683,7 @@
 
 def fromMethod(meth, interface=None, name=None):
     if isinstance(meth, MethodType):
-        func = getattr(meth, _IM_FUNC)
+        func = getattr(meth, '__func__')
     else:
         func = meth
     return fromFunction(func, interface, imlevel=1, name=name)

Modified: zope.interface/branches/tseaver-no_2to3/src/zope/interface/tests/test_registry.py
===================================================================
--- zope.interface/branches/tseaver-no_2to3/src/zope/interface/tests/test_registry.py	2012-04-06 09:32:31 UTC (rev 125003)
+++ zope.interface/branches/tseaver-no_2to3/src/zope/interface/tests/test_registry.py	2012-04-06 15:00:53 UTC (rev 125004)
@@ -1758,7 +1758,6 @@
     def test_registeredHandlers_non_empty(self):
         from zope.interface.declarations import InterfaceClass
         from zope.interface.registry import HandlerRegistration
-        from zope.interface._compat import _FUNC_CODE
         class IFoo(InterfaceClass):
             pass
         ifoo = IFoo('IFoo')
@@ -1770,7 +1769,7 @@
         comp.registerHandler(_factory1, (ifoo,))
         comp.registerHandler(_factory2, (ifoo,))
         def _factory_name(x):
-            return getattr(x.factory, _FUNC_CODE).co_name
+            return getattr(x.factory, '__code__').co_name
         subscribers = sorted(comp.registeredHandlers(), key=_factory_name)
         self.assertEqual(len(subscribers), 2)
         self.failUnless(isinstance(subscribers[0], HandlerRegistration))

Modified: zope.interface/branches/tseaver-no_2to3/src/zope/interface/verify.py
===================================================================
--- zope.interface/branches/tseaver-no_2to3/src/zope/interface/verify.py	2012-04-06 09:32:31 UTC (rev 125003)
+++ zope.interface/branches/tseaver-no_2to3/src/zope/interface/verify.py	2012-04-06 15:00:53 UTC (rev 125004)
@@ -17,7 +17,6 @@
 from zope.interface.exceptions import BrokenMethodImplementation
 from types import FunctionType, MethodType
 from zope.interface.interface import fromMethod, fromFunction, Method
-from zope.interface._compat import _IM_FUNC
 import sys
 
 # This will be monkey-patched when running under Zope 2, so leave this
@@ -75,7 +74,7 @@
                 # Nope, just a normal function
                 meth = fromFunction(attr, iface, name=name)
         elif (isinstance(attr, MethodTypes)
-              and type(getattr(attr, _IM_FUNC)) is FunctionType):
+              and type(getattr(attr, '__func__')) is FunctionType):
             meth = fromMethod(attr, iface, name)
         else:
             if not callable(attr):



More information about the checkins mailing list