[Checkins] SVN: z3c.componentdebug/trunk/src/z3c/componentdebug/ Extend ComponentLookupError patch to zope.component.registry

Ross Patterson me at rpatterson.net
Wed May 30 23:56:46 EDT 2007


Log message for revision 76034:
  Extend ComponentLookupError patch to zope.component.registry
  

Changed:
  U   z3c.componentdebug/trunk/src/z3c/componentdebug/README.txt
  A   z3c.componentdebug/trunk/src/z3c/componentdebug/lookup/
  A   z3c.componentdebug/trunk/src/z3c/componentdebug/lookup/__init__.py
  A   z3c.componentdebug/trunk/src/z3c/componentdebug/lookup/api.py
  A   z3c.componentdebug/trunk/src/z3c/componentdebug/lookup/patch.py
  A   z3c.componentdebug/trunk/src/z3c/componentdebug/lookup/registry.py
  D   z3c.componentdebug/trunk/src/z3c/componentdebug/lookup.py
  U   z3c.componentdebug/trunk/src/z3c/componentdebug/tests/site.txt

-=-
Modified: z3c.componentdebug/trunk/src/z3c/componentdebug/README.txt
===================================================================
--- z3c.componentdebug/trunk/src/z3c/componentdebug/README.txt	2007-05-31 03:55:40 UTC (rev 76033)
+++ z3c.componentdebug/trunk/src/z3c/componentdebug/README.txt	2007-05-31 03:56:46 UTC (rev 76034)
@@ -119,7 +119,7 @@
     ComponentLookupError: ((<Foo object at ...>, <Bar object at ...>),
     <InterfaceClass __builtin__.IBaz>, u'')
 
-    >>> from z3c.componentdebug.lookup import patch
+    >>> from z3c.componentdebug.lookup.patch import patch
     >>> patch()
 
     >>> _api.getMultiAdapter((foo, bar), IBaz)
@@ -134,7 +134,7 @@
         IBar], IBaz, '', getBaz, u'')])]),
      (<Bar object at ...>, [])]
 
-    >>> from z3c.componentdebug.lookup import cleanup
+    >>> from z3c.componentdebug.lookup.patch import cleanup
     >>> cleanup()
 
     >>> _api.getMultiAdapter((foo, bar), IBaz)

Added: z3c.componentdebug/trunk/src/z3c/componentdebug/lookup/__init__.py
===================================================================
--- z3c.componentdebug/trunk/src/z3c/componentdebug/lookup/__init__.py	                        (rev 0)
+++ z3c.componentdebug/trunk/src/z3c/componentdebug/lookup/__init__.py	2007-05-31 03:56:46 UTC (rev 76034)
@@ -0,0 +1,16 @@
+"""More verbose ComponentLookupError reporting."""
+
+from zope.component.interfaces import ComponentLookupError
+
+from z3c.componentdebug.component import Registrations, all_methods
+
+class VerboseComponentLookupError(ComponentLookupError):
+
+    def __init__(self, objects=False, provided=False, name=False,
+                 context=None, methods=all_methods):
+        self.registrations = Registrations(objects, provided, name,
+                                           context, methods)
+        ComponentLookupError.__init__(
+            self, '\n'.join(
+                (str(self.registrations),
+                 str([i for i in self.registrations.byObjects()]))))

Copied: z3c.componentdebug/trunk/src/z3c/componentdebug/lookup/api.py (from rev 76032, z3c.componentdebug/trunk/src/z3c/componentdebug/lookup.py)
===================================================================
--- z3c.componentdebug/trunk/src/z3c/componentdebug/lookup/api.py	                        (rev 0)
+++ z3c.componentdebug/trunk/src/z3c/componentdebug/lookup/api.py	2007-05-31 03:56:46 UTC (rev 76034)
@@ -0,0 +1,49 @@
+from zope.interface import Interface
+from zope.component.interfaces import ComponentLookupError
+from zope.component import _api
+
+from z3c.componentdebug.lookup import VerboseComponentLookupError
+
+origGetAdapterInContext = _api.getAdapterInContext
+def getAdapterInContext(object, interface, context):
+    try:
+        origGetAdapterInContext(object, interface, context)
+    except ComponentLookupError:
+        raise VerboseComponentLookupError(
+            (object,), interface, u'', context)
+
+origGetAdapter = _api.getAdapter
+def getAdapter(object, interface=Interface, name=u'', context=None):
+    try:
+        origGetAdapter(object, interface, name, context)
+    except ComponentLookupError:
+        raise VerboseComponentLookupError(
+            (object,), interface, name, context)
+
+origGetMultiAdapter = _api.getMultiAdapter
+def getMultiAdapter(objects, interface=Interface, name=u'', context=None):
+    try:
+        origGetMultiAdapter(objects, interface, name, context)
+    except ComponentLookupError:
+        raise VerboseComponentLookupError(
+            objects, interface, name, context)
+
+origGetUtility = _api.getUtility
+def getUtility(interface, name='', context=None):
+    try:
+        origGetUtility(interface, name, context)
+    except ComponentLookupError:
+        raise VerboseComponentLookupError(
+            False, interface, name, context)
+
+def patch():
+    _api.getAdapterInContext = getAdapterInContext
+    _api.getAdapter = getAdapter
+    _api.getMultiAdapter = getMultiAdapter
+    _api.getUtility = getUtility
+
+def cleanup():
+    _api.getAdapterInContext = origGetAdapterInContext
+    _api.getAdapter = origGetAdapter
+    _api.getMultiAdapter = origGetMultiAdapter
+    _api.getUtility = origGetUtility

Added: z3c.componentdebug/trunk/src/z3c/componentdebug/lookup/patch.py
===================================================================
--- z3c.componentdebug/trunk/src/z3c/componentdebug/lookup/patch.py	                        (rev 0)
+++ z3c.componentdebug/trunk/src/z3c/componentdebug/lookup/patch.py	2007-05-31 03:56:46 UTC (rev 76034)
@@ -0,0 +1,9 @@
+import api, registry
+
+def patch():
+    api.patch()
+    registry.patch()
+
+def cleanup():
+    api.cleanup()
+    registry.cleanup()

Added: z3c.componentdebug/trunk/src/z3c/componentdebug/lookup/registry.py
===================================================================
--- z3c.componentdebug/trunk/src/z3c/componentdebug/lookup/registry.py	                        (rev 0)
+++ z3c.componentdebug/trunk/src/z3c/componentdebug/lookup/registry.py	2007-05-31 03:56:46 UTC (rev 76034)
@@ -0,0 +1,39 @@
+from zope.interface import Interface
+from zope.component.interfaces import ComponentLookupError
+from zope.component.registry import Components
+
+from z3c.componentdebug.lookup import VerboseComponentLookupError
+
+origGetUtility = Components.getUtility
+def getUtility(self, provided, name=u''):
+    try:
+        origGetUtility(self, provided, name)
+    except ComponentLookupError:
+        raise VerboseComponentLookupError(
+            False, provided, name, self)
+
+origGetAdapter = Components.getAdapter
+def getAdapter(self, object, interface=Interface, name=u''):
+    try:
+        origGetAdapter(self, object, interface, name)
+    except ComponentLookupError:
+        raise VerboseComponentLookupError(
+            (object,), interface, name, self)
+
+origGetMultiAdapter = Components.getMultiAdapter
+def getMultiAdapter(self, objects, interface=Interface, name=u''):
+    try:
+        origGetMultiAdapter(self, objects, interface, name)
+    except ComponentLookupError:
+        raise VerboseComponentLookupError(
+            objects, interface, name, self)
+
+def patch():
+    Components.getUtility = getUtility
+    Components.getAdapter = getAdapter
+    Components.getMultiAdapter = getMultiAdapter
+
+def cleanup():
+    Components.getUtility = origGetUtility
+    Components.getAdapter = origGetAdapter
+    Components.getMultiAdapter = origGetMultiAdapter

Deleted: z3c.componentdebug/trunk/src/z3c/componentdebug/lookup.py
===================================================================
--- z3c.componentdebug/trunk/src/z3c/componentdebug/lookup.py	2007-05-31 03:55:40 UTC (rev 76033)
+++ z3c.componentdebug/trunk/src/z3c/componentdebug/lookup.py	2007-05-31 03:56:46 UTC (rev 76034)
@@ -1,62 +0,0 @@
-"""More verbose ComponentLookupError reporting."""
-
-from zope.interface import Interface
-from zope.component.interfaces import ComponentLookupError
-from zope.component import _api
-
-from z3c.componentdebug.component import Registrations, all_methods
-
-class VerboseComponentLookupError(ComponentLookupError):
-
-    def __init__(self, objects=False, provided=False, name=False,
-                 context=None, methods=all_methods):
-        self.registrations = Registrations(objects, provided, name,
-                                           context, methods)
-        ComponentLookupError.__init__(
-            self, '\n'.join(
-                (str(self.registrations),
-                 str([i for i in self.registrations.byObjects()]))))
-
-origGetAdapterInContext = _api.getAdapterInContext
-def getAdapterInContext(object, interface, context):
-    try:
-        origGetAdapterInContext(object, interface, context)
-    except ComponentLookupError:
-        raise VerboseComponentLookupError(
-            (object,), interface, u'', context)
-
-origGetAdapter = _api.getAdapter
-def getAdapter(object, interface=Interface, name=u'', context=None):
-    try:
-        origGetAdapter(object, interface, name, context)
-    except ComponentLookupError:
-        raise VerboseComponentLookupError(
-            (object,), interface, name, context)
-
-origGetMultiAdapter = _api.getMultiAdapter
-def getMultiAdapter(objects, interface=Interface, name=u'', context=None):
-    try:
-        origGetMultiAdapter(objects, interface, name, context)
-    except ComponentLookupError:
-        raise VerboseComponentLookupError(
-            objects, interface, name, context)
-
-origGetUtility = _api.getUtility
-def getUtility(interface, name='', context=None):
-    try:
-        origGetUtility(interface, name, context)
-    except ComponentLookupError:
-        raise VerboseComponentLookupError(
-            False, interface, name, context)
-
-def patch():
-    _api.getAdapterInContext = getAdapterInContext
-    _api.getAdapter = getAdapter
-    _api.getMultiAdapter = getMultiAdapter
-    _api.getUtility = getUtility
-
-def cleanup():
-    _api.getAdapterInContext = origGetAdapterInContext
-    _api.getAdapter = origGetAdapter
-    _api.getMultiAdapter = origGetMultiAdapter
-    _api.getUtility = origGetUtility

Modified: z3c.componentdebug/trunk/src/z3c/componentdebug/tests/site.txt
===================================================================
--- z3c.componentdebug/trunk/src/z3c/componentdebug/tests/site.txt	2007-05-31 03:55:40 UTC (rev 76033)
+++ z3c.componentdebug/trunk/src/z3c/componentdebug/tests/site.txt	2007-05-31 03:56:46 UTC (rev 76034)
@@ -19,10 +19,44 @@
 
     >>> from zope.interface import Interface
     >>> from z3c.componentdebug.component import getRegistrations
-    >>> gsm.registerUtility(object, Interface)
-    >>> sm.registerUtility(object, Interface)
+    >>> gsm.registerAdapter(lambda x: x, (Interface,), Interface)
+    >>> sm.registerAdapter(lambda x: x, (Interface,), Interface)
     >>> pprint([i for i in getRegistrations(context=sm)])
-    [UtilityRegistration(<PersistentComponents >, Interface, u'',
-    object, u''),
-     UtilityRegistration(<BaseGlobalComponents base>, Interface, u'',
-     object, u'')]
+    [AdapterRegistration(<PersistentComponents >, [Interface],
+    Interface, u'', <lambda>, u''),
+     AdapterRegistration(<BaseGlobalComponents base>, [Interface],
+     Interface, u'', <lambda>, u'')]
+
+Check the ComponentLookupError patch for other site managers::
+
+    >>> sm.getAdapter(None, Interface)
+    Traceback (most recent call last):
+    ...
+    ComponentLookupError: (None, <InterfaceClass
+    zope.interface.Interface>, u'')
+
+    >>> from z3c.componentdebug.lookup.patch import patch
+    >>> patch()
+
+    >>> sm.getAdapter(None, Interface)
+    Traceback (most recent call last):
+    ...
+    VerboseComponentLookupError:
+    [AdapterRegistration(<PersistentComponents >, [Interface],
+    Interface, u'', <lambda>, u''),
+    AdapterRegistration(<BaseGlobalComponents base>, [Interface],
+    Interface, u'', <lambda>, u'')]
+    [(None, [(<InterfaceClass zope.interface.Interface>,
+    [AdapterRegistration(<PersistentComponents >, [Interface],
+    Interface, u'', <lambda>, u''),
+    AdapterRegistration(<BaseGlobalComponents base>, [Interface],
+    Interface, u'', <lambda>, u'')])])]
+
+    >>> from z3c.componentdebug.lookup.patch import cleanup
+    >>> cleanup()
+
+    >>> sm.getAdapter(None, Interface)
+    Traceback (most recent call last):
+    ...
+    ComponentLookupError: (None, <InterfaceClass
+    zope.interface.Interface>, u'')



More information about the Checkins mailing list