[Checkins] SVN: Sandbox/cklinger/megrok.pagelet/trunk/s Added Pagelet Renderer, rename LayoutView to Layout
Christian Klinger
cklinger at novareto.de
Thu Feb 19 07:21:51 EST 2009
Log message for revision 96734:
Added Pagelet Renderer, rename LayoutView to Layout
Changed:
U Sandbox/cklinger/megrok.pagelet/trunk/setup.py
U Sandbox/cklinger/megrok.pagelet/trunk/src/megrok/pagelet/__init__.py
U Sandbox/cklinger/megrok.pagelet/trunk/src/megrok/pagelet/component.py
U Sandbox/cklinger/megrok.pagelet/trunk/src/megrok/pagelet/meta.py
A Sandbox/cklinger/megrok.pagelet/trunk/src/megrok/pagelet/tests/templates/house.pt
U Sandbox/cklinger/megrok.pagelet/trunk/src/megrok/pagelet/tests/test_layout.py
U Sandbox/cklinger/megrok.pagelet/trunk/src/megrok/pagelet/tests/test_pagelet_layers.py
A Sandbox/cklinger/megrok.pagelet/trunk/src/megrok/pagelet/tests/test_pagelet_renderer.py
-=-
Modified: Sandbox/cklinger/megrok.pagelet/trunk/setup.py
===================================================================
--- Sandbox/cklinger/megrok.pagelet/trunk/setup.py 2009-02-19 11:35:31 UTC (rev 96733)
+++ Sandbox/cklinger/megrok.pagelet/trunk/setup.py 2009-02-19 12:21:51 UTC (rev 96734)
@@ -27,6 +27,7 @@
install_requires=[
'setuptools',
'martian',
+ 'interlude',
'grokcore.component',
'z3c.template',
'z3c.pagelet',
Modified: Sandbox/cklinger/megrok.pagelet/trunk/src/megrok/pagelet/__init__.py
===================================================================
--- Sandbox/cklinger/megrok.pagelet/trunk/src/megrok/pagelet/__init__.py 2009-02-19 11:35:31 UTC (rev 96733)
+++ Sandbox/cklinger/megrok.pagelet/trunk/src/megrok/pagelet/__init__.py 2009-02-19 12:21:51 UTC (rev 96734)
@@ -1,3 +1,3 @@
-from megrok.pagelet.component import LayoutView, Pagelet
+from megrok.pagelet.component import Layout, Pagelet
from grokcore.component import name, title, description
from megrok.pagelet.directive import layout, template
Modified: Sandbox/cklinger/megrok.pagelet/trunk/src/megrok/pagelet/component.py
===================================================================
--- Sandbox/cklinger/megrok.pagelet/trunk/src/megrok/pagelet/component.py 2009-02-19 11:35:31 UTC (rev 96733)
+++ Sandbox/cklinger/megrok.pagelet/trunk/src/megrok/pagelet/component.py 2009-02-19 12:21:51 UTC (rev 96734)
@@ -8,16 +8,18 @@
from martian.error import GrokImportError
from zope.interface import implements
from zope.component import getMultiAdapter
+from z3c.pagelet.interfaces import IPagelet
from zope.publisher.browser import BrowserPage
from z3c.template.interfaces import ILayoutTemplate
from grokcore.view.interfaces import IGrokView
-class LayoutView(object):
+class Layout(object):
+ """ A basic class for Layouts"""
pass
class Pagelet(BrowserPage):
- implements(interfaces.IGrokView)
+ implements(interfaces.IGrokView, IPagelet)
template = None
layout = None
Modified: Sandbox/cklinger/megrok.pagelet/trunk/src/megrok/pagelet/meta.py
===================================================================
--- Sandbox/cklinger/megrok.pagelet/trunk/src/megrok/pagelet/meta.py 2009-02-19 11:35:31 UTC (rev 96733)
+++ Sandbox/cklinger/megrok.pagelet/trunk/src/megrok/pagelet/meta.py 2009-02-19 12:21:51 UTC (rev 96734)
@@ -106,7 +106,7 @@
class LayoutViewGrokker(martian.ClassGrokker):
"""Code resuse for View, ContentProvider and Viewlet grokkers"""
- martian.component(megrok.pagelet.LayoutView)
+ martian.component(megrok.pagelet.Layout)
martian.directive(grokcore.component.context)
martian.directive(grokcore.view.layer, default=IDefaultBrowserLayer)
martian.directive(grokcore.component.name, get_default=default_view_name)
Added: Sandbox/cklinger/megrok.pagelet/trunk/src/megrok/pagelet/tests/templates/house.pt
===================================================================
--- Sandbox/cklinger/megrok.pagelet/trunk/src/megrok/pagelet/tests/templates/house.pt (rev 0)
+++ Sandbox/cklinger/megrok.pagelet/trunk/src/megrok/pagelet/tests/templates/house.pt 2009-02-19 12:21:51 UTC (rev 96734)
@@ -0,0 +1,7 @@
+<html>
+ <body>
+ <div class="layout" tal:content="structure provider:pagelet">
+ here comes the content
+ </div>
+ </body>
+</html>
Modified: Sandbox/cklinger/megrok.pagelet/trunk/src/megrok/pagelet/tests/test_layout.py
===================================================================
--- Sandbox/cklinger/megrok.pagelet/trunk/src/megrok/pagelet/tests/test_layout.py 2009-02-19 11:35:31 UTC (rev 96733)
+++ Sandbox/cklinger/megrok.pagelet/trunk/src/megrok/pagelet/tests/test_layout.py 2009-02-19 12:21:51 UTC (rev 96734)
@@ -46,7 +46,7 @@
return self.layout()
-class Layout(megrok.pagelet.LayoutView):
+class Layout(megrok.pagelet.Layout):
grok.context(Elephant)
#grok.name('layout')
megrok.pagelet.template('templates/layout.pt')
@@ -62,7 +62,7 @@
return layout(self)
return self.layout()
-class ContextLayout(megrok.pagelet.LayoutView):
+class ContextLayout(megrok.pagelet.Layout):
grok.context(Mammoth)
megrok.pagelet.template('templates/context_layout.pt')
Modified: Sandbox/cklinger/megrok.pagelet/trunk/src/megrok/pagelet/tests/test_pagelet_layers.py
===================================================================
--- Sandbox/cklinger/megrok.pagelet/trunk/src/megrok/pagelet/tests/test_pagelet_layers.py 2009-02-19 11:35:31 UTC (rev 96733)
+++ Sandbox/cklinger/megrok.pagelet/trunk/src/megrok/pagelet/tests/test_pagelet_layers.py 2009-02-19 12:21:51 UTC (rev 96734)
@@ -45,7 +45,7 @@
def render(self):
return "<b>Yeah</b>"
-class MyLayout(megrok.pagelet.LayoutView):
+class MyLayout(megrok.pagelet.Layout):
grok.context(Mammoth)
megrok.pagelet.template('templates/playout.pt')
@@ -57,7 +57,7 @@
def render(self):
return "<b> This is the view in the Layer </b>"
-class MyLayerLayout(megrok.pagelet.LayoutView):
+class MyLayerLayout(megrok.pagelet.Layout):
grok.context(Mammoth)
grok.layer(MySkinLayer)
megrok.pagelet.template('templates/layer_layout.pt')
Added: Sandbox/cklinger/megrok.pagelet/trunk/src/megrok/pagelet/tests/test_pagelet_renderer.py
===================================================================
--- Sandbox/cklinger/megrok.pagelet/trunk/src/megrok/pagelet/tests/test_pagelet_renderer.py (rev 0)
+++ Sandbox/cklinger/megrok.pagelet/trunk/src/megrok/pagelet/tests/test_pagelet_renderer.py 2009-02-19 12:21:51 UTC (rev 96734)
@@ -0,0 +1,60 @@
+"""
+ >>> from zope.component import getUtility
+ >>> from zope.publisher.browser import TestRequest
+ >>> from z3c.template.interfaces import ILayoutTemplate
+ >>> from zope.interface import Interface
+ >>> from zope.component import getMultiAdapter
+ >>> request = TestRequest()
+ >>> house = House()
+ >>> view = getMultiAdapter((house, request), name="myview")
+
+Now call the view.
+
+ >>> print view()
+ <html>
+ <body>
+ <div class="layout"><html> <body> <div class="layout"> <div class="content"> my template content </div> </div> </body> </html></div>
+ </body>
+ </html>
+
+"""
+import grok
+import megrok.pagelet
+from zope.interface import Interface
+from zope.component import getMultiAdapter
+from z3c.pagelet.provider import PageletRenderer
+from zope.contentprovider.interfaces import IContentProvider
+import z3c.pagelet.interfaces
+import zope.component
+import zope.interface
+import zope.publisher.interfaces.browser
+
+
+class House(grok.Context):
+ pass
+
+class MyView(megrok.pagelet.Pagelet):
+ grok.context(House)
+
+ def render(self):
+ return '<html> <body> <div class="layout"> <div class="content"> my template content </div> </div> </body> </html>'
+
+class HouseLayout(megrok.pagelet.Layout):
+ grok.context(House)
+ megrok.pagelet.template('templates/house.pt')
+
+class GPageletRenderer(grok.MultiAdapter, PageletRenderer):
+ grok.implements(IContentProvider)
+ grok.name('pagelet')
+ grok.adapts(zope.interface.Interface,
+ zope.publisher.interfaces.browser.IBrowserRequest,
+ z3c.pagelet.interfaces.IPagelet)
+ grok.provides(IContentProvider)
+
+def test_suite():
+ from zope.testing import doctest
+ from megrok.pagelet.tests import FunctionalLayer
+ import interlude
+ suite = doctest.DocTestSuite(optionflags=doctest.NORMALIZE_WHITESPACE|doctest.ELLIPSIS)
+ suite.layer = FunctionalLayer
+ return suite
More information about the Checkins
mailing list