[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