[Checkins] SVN: grok/branches/darrylcousins-martian-layers/src/grok/ftests/view/ Forgot to add my test files

Darryl Cousins darryl at darrylcousins.net.nz
Sat Jun 30 15:58:56 EDT 2007


Log message for revision 77271:
  Forgot to add my test files

Changed:
  A   grok/branches/darrylcousins-martian-layers/src/grok/ftests/view/provider.py
  A   grok/branches/darrylcousins-martian-layers/src/grok/ftests/view/provider_templates/
  A   grok/branches/darrylcousins-martian-layers/src/grok/ftests/view/provider_templates/painting.pt
  A   grok/branches/darrylcousins-martian-layers/src/grok/ftests/view/viewletmanager.py
  A   grok/branches/darrylcousins-martian-layers/src/grok/ftests/view/viewletmanager_templates/
  A   grok/branches/darrylcousins-martian-layers/src/grok/ftests/view/viewletmanager_templates/firstprovider.pt
  A   grok/branches/darrylcousins-martian-layers/src/grok/ftests/view/viewletmanager_templates/painting.pt

-=-
Added: grok/branches/darrylcousins-martian-layers/src/grok/ftests/view/provider.py
===================================================================
--- grok/branches/darrylcousins-martian-layers/src/grok/ftests/view/provider.py	                        (rev 0)
+++ grok/branches/darrylcousins-martian-layers/src/grok/ftests/view/provider.py	2007-06-30 19:58:55 UTC (rev 77271)
@@ -0,0 +1,52 @@
+"""
+  >>> import grok
+  >>> from grok.ftests.view.provider import Mammoth
+  >>> grok.grok('grok.ftests.view.provider')
+  >>> getRootFolder()["manfred"] = Mammoth()
+
+  >>> from zope.testbrowser.testing import Browser
+  >>> browser = Browser()
+  >>> browser.handleErrors = False
+  >>> browser.open("http://localhost/++skin++myskin/manfred/@@painting")
+  >>> print browser.contents
+  <html>
+  <body>
+  <h1>This is a cave painting</h1>
+  </body>
+  </html>
+
+"""
+import grok
+
+from zope.publisher.interfaces.browser import IBrowserRequest, IBrowserView
+from zope.contentprovider.interfaces import IContentProvider
+
+
+class Mammoth(grok.Model):
+    pass
+
+class IMySkinLayer(grok.ILayer):
+    pass
+
+class MySkin(grok.Skin):
+    grok.layer(IMySkinLayer)
+
+class Painting(grok.View):
+    pass
+
+class MammothContentProvider(grok.MultiAdapter, ):
+    grok.adapts(Mammoth, IMySkinLayer, IBrowserView)
+    grok.implements(IContentProvider)
+    grok.name('cave')
+
+    def __init__(self, context, request, view):
+        self.context = context
+        self.request = request
+        self.view = self.__parent__ = view
+
+    def update(self):
+        pass
+
+    def render(self):
+        return u'This is a cave painting'
+


Property changes on: grok/branches/darrylcousins-martian-layers/src/grok/ftests/view/provider.py
___________________________________________________________________
Name: svn:keywords
   + Id

Added: grok/branches/darrylcousins-martian-layers/src/grok/ftests/view/provider_templates/painting.pt
===================================================================
--- grok/branches/darrylcousins-martian-layers/src/grok/ftests/view/provider_templates/painting.pt	                        (rev 0)
+++ grok/branches/darrylcousins-martian-layers/src/grok/ftests/view/provider_templates/painting.pt	2007-06-30 19:58:55 UTC (rev 77271)
@@ -0,0 +1,6 @@
+<html>
+<body>
+<h1 tal:content="structure provider:cave">Hello, world!</h1>
+</body>
+</html>
+

Added: grok/branches/darrylcousins-martian-layers/src/grok/ftests/view/viewletmanager.py
===================================================================
--- grok/branches/darrylcousins-martian-layers/src/grok/ftests/view/viewletmanager.py	                        (rev 0)
+++ grok/branches/darrylcousins-martian-layers/src/grok/ftests/view/viewletmanager.py	2007-06-30 19:58:55 UTC (rev 77271)
@@ -0,0 +1,99 @@
+"""
+  >>> import grok
+  >>> from grok.ftests.view.viewletmanager import Mammoth
+  >>> grok.grok('grok.ftests.view.viewletmanager')
+  >>> getRootFolder()["manfred"] = Mammoth()
+
+  >>> from zope.testbrowser.testing import Browser
+  >>> browser = Browser()
+  >>> browser.handleErrors = False
+  >>> browser.open("http://localhost/++skin++myskin/manfred/@@painting")
+  >>> print browser.contents
+  <html>
+  <body>
+  <h1>This is a cave painting</h1>
+  <div><p>Hello World</p></div>
+  </body>
+  </html>
+
+"""
+import grok
+
+from zope.publisher.interfaces.browser import IBrowserRequest, IBrowserView
+from zope.contentprovider.interfaces import IContentProvider
+from zope.viewlet.interfaces import IViewletManager
+from zope.viewlet.interfaces import IViewlet
+from zope.viewlet.viewlet import ViewletBase
+import zope.component
+
+from z3c.viewlet.manager import WeightOrderedViewletManager
+
+class Mammoth(grok.Model):
+    pass
+
+class IMySkinLayer(grok.ILayer):
+    pass
+
+class MySkin(grok.Skin):
+    grok.layer(IMySkinLayer)
+
+class Painting(grok.View):
+    """Template must be in *_templates, I tried and I tried to find out
+    why when inline the `provider` tal directive wasn't found"""
+    pass
+
+class MammothContentProvider(grok.MultiAdapter):
+    grok.adapts(Mammoth, IMySkinLayer, IBrowserView)
+    grok.implements(IContentProvider)
+    grok.name('cave')
+
+    def __init__(self, context, request, view):
+        self.context = context
+        self.request = request
+        self.view = self.__parent__ = view
+
+    def update(self):
+        pass
+
+    def render(self):
+        return u'This is a cave painting'
+
+class MammothViewletManager(grok.MultiAdapter, WeightOrderedViewletManager):
+    grok.adapts(Mammoth, IMySkinLayer, IBrowserView)
+    grok.name('cavecolumn')
+
+    def __init__(self, context, request, view):
+        WeightOrderedViewletManager.__init__(self, context, request, view)
+
+    def update(self):
+        viewlets = zope.component.getAdapters(
+                    (self.context, self.request, self.__parent__, self),
+                    IViewlet)
+        self.viewlets = []
+        for viewlet in viewlets:
+            self.viewlets.append(viewlet[1])
+
+    def render(self):
+        return '\n'.join([s.render() for s in self.viewlets])
+
+class HelloWorldViewlet(grok.MultiAdapter):
+    grok.adapts(Mammoth, IMySkinLayer, IBrowserView, IViewletManager)
+    grok.implements(IViewlet)
+    grok.name('helloworld')
+    weight = 0
+
+    def __init__(self, context, request, view, manager):
+        self.__parent__ = view
+        self.context = context
+        self.request = request
+        self.manager = manager
+
+    def render(self):
+        return u'<p>Hello World</p>'
+
+class FirstProvider(grok.ContentProvider):
+    grok.name('provider.first')
+    grok.context(Mammoth)
+
+    def update(self):
+        pass


Property changes on: grok/branches/darrylcousins-martian-layers/src/grok/ftests/view/viewletmanager.py
___________________________________________________________________
Name: svn:keywords
   + Id

Added: grok/branches/darrylcousins-martian-layers/src/grok/ftests/view/viewletmanager_templates/firstprovider.pt
===================================================================
--- grok/branches/darrylcousins-martian-layers/src/grok/ftests/view/viewletmanager_templates/firstprovider.pt	                        (rev 0)
+++ grok/branches/darrylcousins-martian-layers/src/grok/ftests/view/viewletmanager_templates/firstprovider.pt	2007-06-30 19:58:55 UTC (rev 77271)
@@ -0,0 +1 @@
+<div>Way cool</div>

Added: grok/branches/darrylcousins-martian-layers/src/grok/ftests/view/viewletmanager_templates/painting.pt
===================================================================
--- grok/branches/darrylcousins-martian-layers/src/grok/ftests/view/viewletmanager_templates/painting.pt	                        (rev 0)
+++ grok/branches/darrylcousins-martian-layers/src/grok/ftests/view/viewletmanager_templates/painting.pt	2007-06-30 19:58:55 UTC (rev 77271)
@@ -0,0 +1,8 @@
+<html>
+<body>
+<h1 tal:content="structure provider:cave">Hello, world!</h1>
+<div tal:content="structure provider:cavecolumn">Hello, world!</div>
+<div tal:content="structure provider:provider.first">Hello, world!</div>
+</body>
+</html>
+



More information about the Checkins mailing list