[Checkins] SVN: z3ext.layout/trunk/ fixed @@pagelet publisher

Nikolay Kim fafhrd91 at gmail.com
Mon Mar 22 01:32:44 EDT 2010


Log message for revision 110107:
  fixed @@pagelet publisher

Changed:
  U   z3ext.layout/trunk/CHANGES.txt
  U   z3ext.layout/trunk/src/z3ext/layout/configure.zcml
  U   z3ext.layout/trunk/src/z3ext/layout/pagelet.py

-=-
Modified: z3ext.layout/trunk/CHANGES.txt
===================================================================
--- z3ext.layout/trunk/CHANGES.txt	2010-03-22 03:42:07 UTC (rev 110106)
+++ z3ext.layout/trunk/CHANGES.txt	2010-03-22 05:32:44 UTC (rev 110107)
@@ -5,6 +5,8 @@
 2.3.0 (Unreleased)
 ------------------
 
+- Fixed @@pagelet publisher
+
 - Use ``zope.site`` intead of ``zope.app.component``
 
 - Use ``zope.browserpage`` intead of ``zope.app.publisher``

Modified: z3ext.layout/trunk/src/z3ext/layout/configure.zcml
===================================================================
--- z3ext.layout/trunk/src/z3ext/layout/configure.zcml	2010-03-22 03:42:07 UTC (rev 110106)
+++ z3ext.layout/trunk/src/z3ext/layout/configure.zcml	2010-03-22 05:32:44 UTC (rev 110107)
@@ -42,6 +42,10 @@
        interface="zope.publisher.interfaces.browser.IBrowserPublisher" />
   </class>
 
+  <class class=".pagelet.Result">
+    <allow interface="zope.publisher.interfaces.browser.IBrowserPage" />
+  </class>
+
   <!-- default layouts -->
   <z3ext:layout
      layout="viewspace"

Modified: z3ext.layout/trunk/src/z3ext/layout/pagelet.py
===================================================================
--- z3ext.layout/trunk/src/z3ext/layout/pagelet.py	2010-03-22 03:42:07 UTC (rev 110106)
+++ z3ext.layout/trunk/src/z3ext/layout/pagelet.py	2010-03-22 05:32:44 UTC (rev 110107)
@@ -153,6 +153,17 @@
             return layout()
 
 
+class Result(BrowserPage):
+
+    def __init__(self, context, request, str):
+        self.context = context
+        self.request = request
+        self.str = str
+
+    def __call__(self):
+        return self.str
+
+
 class PageletPublisher(object):
     interface.implements(IBrowserPublisher)
     component.adapts(interface.Interface, interface.Interface)
@@ -184,7 +195,8 @@
 
         if view is not None:
             try:
-                return view.updateAndRender()
+                return Result(
+                    self.context, self.request, view.updateAndRender())
             except:
                 errUtility = queryUtility(IErrorReportingUtility)
                 if errUtility is not None:



More information about the checkins mailing list