[Checkins] SVN: z3ext.layout/trunk/ Add IPagelet interface to pagelet provides

Nikolay Kim fafhrd at datacom.kz
Wed Nov 5 06:03:29 EST 2008


Log message for revision 92789:
  Add IPagelet interface to pagelet provides

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

-=-
Modified: z3ext.layout/trunk/CHANGES.txt
===================================================================
--- z3ext.layout/trunk/CHANGES.txt	2008-11-05 00:03:57 UTC (rev 92788)
+++ z3ext.layout/trunk/CHANGES.txt	2008-11-05 11:03:27 UTC (rev 92789)
@@ -2,6 +2,12 @@
 CHANGES
 =======
 
+1.5.5 (2008-11-05)
+------------------
+
+- Add IPagelet interface to pagelet provides
+
+
 1.5.4 (2008-10-30)
 ------------------
 

Modified: z3ext.layout/trunk/setup.py
===================================================================
--- z3ext.layout/trunk/setup.py	2008-11-05 00:03:57 UTC (rev 92788)
+++ z3ext.layout/trunk/setup.py	2008-11-05 11:03:27 UTC (rev 92789)
@@ -21,7 +21,7 @@
 def read(*rnames):
     return open(os.path.join(os.path.dirname(__file__), *rnames)).read()
 
-version='1.5.5dev'
+version='1.5.5'
 
 
 setup(name='z3ext.layout',

Modified: z3ext.layout/trunk/src/z3ext/layout/zcml.py
===================================================================
--- z3ext.layout/trunk/src/z3ext/layout/zcml.py	2008-11-05 00:03:57 UTC (rev 92788)
+++ z3ext.layout/trunk/src/z3ext/layout/zcml.py	2008-11-05 11:03:27 UTC (rev 92789)
@@ -301,11 +301,17 @@
 
     new_class = type('PageletClass from %s'%class_, bases, cdict)
 
+    # add IPagelet to provides
+    inProvides = False
+    for iface in provides:
+        if IPagelet.isOrExtends(iface) and not IPageletType.providedBy(iface):
+            inProvides = True
+
+    if not inProvides:
+        provides.append(IPagelet)
+
     # prepare allowed interfaces and attributes
     allowed_interface.extend(provides)
-    if IPagelet not in provides:
-        allowed_interface.append(IPagelet)
-
     allowed_attributes.extend(kwargs.keys())
     allowed_attributes.extend(('__call__', 'browserDefault',
                                'update', 'render', 'publishTraverse'))



More information about the Checkins mailing list