[Checkins]
SVN: grokui.introspector/trunk/src/grokui/introspector/views.py
Add a namespace for the introspector.
Uli Fouquet
uli at gnufix.de
Tue Jul 8 09:48:16 EDT 2008
Log message for revision 88110:
Add a namespace for the introspector.
Changed:
U grokui.introspector/trunk/src/grokui/introspector/views.py
-=-
Modified: grokui.introspector/trunk/src/grokui/introspector/views.py
===================================================================
--- grokui.introspector/trunk/src/grokui/introspector/views.py 2008-07-08 13:45:06 UTC (rev 88109)
+++ grokui.introspector/trunk/src/grokui/introspector/views.py 2008-07-08 13:48:15 UTC (rev 88110)
@@ -16,15 +16,17 @@
"""
import grok
-from zope.app.basicskin import IBasicSkin
-from zope.app.folder.interfaces import IRootFolder
+from zope.component import getUtility
+from zope.interface import Interface
from zope.publisher.interfaces.browser import IDefaultBrowserLayer
+from zope.traversing.interfaces import ITraversable
from grokui.introspector.interfaces import (IGrokIntrospector,
IGrokRegistryIntrospector,
IGrokCodeIntrospector,
IGrokZODBBrowser)
-# BBB: This will change after decoupling grok.admin from grok...
+NAMESPACE = u'introspector'
+
grok.context(IGrokIntrospector)
class IntrospectorLayer(IDefaultBrowserLayer):
@@ -33,12 +35,11 @@
pass
# This is the default layer for all views herein...
-grok.layer(IntrospectorLayer)
+#grok.layer(IntrospectorLayer)
class IntrospectorSkin(grok.Skin):
"""A skin for all introspection stuff.
"""
- grok.name('introspector')
grok.layer(IntrospectorLayer)
class Master(grok.View):
@@ -48,7 +49,7 @@
class Index(grok.View):
"""The overview page.
"""
- #grok.name('index.html')
+ pass
class RegistryOverview(grok.View):
grok.name('index')
@@ -90,4 +91,18 @@
"""This viewlet manager cares for the page footer.
"""
grok.name('footer')
-
+
+# Define a namespace for all introspector related stuff
+
+class GrokIntrospectorNamespace(grok.MultiAdapter):
+ grok.name(NAMESPACE)
+ grok.provides(ITraversable)
+ grok.adapts(Interface, Interface)
+ grok.layer(IntrospectorSkin)
+
+ def __init__(self, ob, req=None):
+ self.context = ob
+
+ def traverse(self, name, ignore):
+ introspector = getUtility(IGrokIntrospector)
+ return introspector(self.context, NAMESPACE + name)
More information about the Checkins
mailing list