[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