[Checkins] SVN: zope.contentprovider/trunk/ clean deps in setup, fire beforeupdateevent in tales expression

Bernd Dorn bernd.dorn at lovelysystems.com
Sat May 5 04:53:38 EDT 2007


Log message for revision 75493:
  clean deps in setup, fire beforeupdateevent in tales expression

Changed:
  U   zope.contentprovider/trunk/buildout.cfg
  U   zope.contentprovider/trunk/setup.py
  U   zope.contentprovider/trunk/src/zope/contentprovider/README.txt
  U   zope.contentprovider/trunk/src/zope/contentprovider/tales.py

-=-
Modified: zope.contentprovider/trunk/buildout.cfg
===================================================================
--- zope.contentprovider/trunk/buildout.cfg	2007-05-05 07:28:29 UTC (rev 75492)
+++ zope.contentprovider/trunk/buildout.cfg	2007-05-05 08:53:36 UTC (rev 75493)
@@ -6,4 +6,4 @@
 
 [test]
 recipe = zc.recipe.testrunner
-eggs = zope.contentprovider
+eggs = zope.contentprovider [test]

Modified: zope.contentprovider/trunk/setup.py
===================================================================
--- zope.contentprovider/trunk/setup.py	2007-05-05 07:28:29 UTC (rev 75492)
+++ zope.contentprovider/trunk/setup.py	2007-05-05 08:53:36 UTC (rev 75493)
@@ -34,20 +34,22 @@
                        "templates and METAL macros, content provider"
                        "objects are dynamically looked up based on"
                        "the setup/configuration of the application.",
-
 	  packages=find_packages('src'),
       package_dir = {'': 'src'},
-
       namespace_packages=['zope',],
-      tests_require = ['zope.testing',
-                       'zope.security',
-                       'zope.app'],
-      install_requires=['zope.interface',
-                        'zope.component',
+      extras_require = dict(test=['zope.app.pagetemplate',
+                                  'zope.app.testing',
+                                  'zope.security',
+                                  'zope.testing',
+                                  ]),
+      install_requires=['zope.component',
+                        'zope.event',
+                        'zope.interface',
+                        'zope.location',
                         'zope.publisher',
                         'zope.schema',
-                        'zope.tales'],
+                        'zope.tales',
+                        ],
       include_package_data = True,
-
       zip_safe = False,
       )

Modified: zope.contentprovider/trunk/src/zope/contentprovider/README.txt
===================================================================
--- zope.contentprovider/trunk/src/zope/contentprovider/README.txt	2007-05-05 07:28:29 UTC (rev 75492)
+++ zope.contentprovider/trunk/src/zope/contentprovider/README.txt	2007-05-05 08:53:36 UTC (rev 75493)
@@ -343,9 +343,13 @@
 
   >>> content = Content()
 
-Finally we look up the view and render it:
+Finally we look up the view and render it. Note that a
+BeforeUpdateEvent is fired - this event should always be fired before
+any contentprovider is updated.
 
   >>> from zope.publisher.browser import TestRequest
+  >>> events = []
+  >>> zope.component.provideHandler(events.append, (None, ))
   >>> request = TestRequest()
 
   >>> view = zope.component.getMultiAdapter((content, request),
@@ -363,6 +367,8 @@
     </body>
   </html>
 
+  >>> events
+  [<zope.contentprovider.interfaces.BeforeUpdateEvent object at ...>]
 
 Failure to lookup a Content Provider
 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Modified: zope.contentprovider/trunk/src/zope/contentprovider/tales.py
===================================================================
--- zope.contentprovider/trunk/src/zope/contentprovider/tales.py	2007-05-05 07:28:29 UTC (rev 75492)
+++ zope.contentprovider/trunk/src/zope/contentprovider/tales.py	2007-05-05 08:53:36 UTC (rev 75493)
@@ -20,6 +20,7 @@
 import zope.component
 import zope.interface
 import zope.schema
+import zope.event
 from zope.tales import expressions
 
 from zope.contentprovider import interfaces
@@ -72,6 +73,7 @@
         addTALNamespaceData(provider, econtext)
 
         # Stage 1: Do the state update.
+        zope.event.notify(interfaces.BeforeUpdateEvent(provider))
         provider.update()
 
         # Stage 2: Render the HTML content.



More information about the Checkins mailing list