Author: reebalazs
Date: Sun Sep 30 22:34:28 2007
New Revision: 47051
Modified:
kukit/kss.demo/branch/ree-demoload/kss/demo/browser/registry.py
Log:
Make @@kss_demo_registry_admin/cookSeleniumTests work with Zope3
Modified: kukit/kss.demo/branch/ree-demoload/kss/demo/browser/registry.py
==============================================================================
--- kukit/kss.demo/branch/ree-demoload/kss/demo/browser/registry.py
(original)
+++ kukit/kss.demo/branch/ree-demoload/kss/demo/browser/registry.py Sun Sep
30 22:34:28 2007
@@ -1,8 +1,12 @@
from kss.demo.interfaces import IKSSDemoRegistry
+from zope.publisher.interfaces.browser import IBrowserPublisher
+from zope.publisher.interfaces import NotFound
from zope.component import getUtility
+from zope.interface import implements
try:
from Products.Five import BrowserView
+ BrowserView # make pyflakes happy
except ImportError:
from zope.publisher.browser import BrowserView
@@ -52,6 +56,31 @@
class KSSDemoRegistryAdminView(BrowserView):
"""Things that only admin should do"""
+ implements(IBrowserPublisher)
+
+ # Zope3 requires the implementation of
+ # IBrowserPublisher, in order for the methods
+ # to be traversable.
+ #
+ # An alternative would be:
+ # <browser:pages class="...">
+ # <page name="..." attribute="..." />
+ # <page name="..." attribute="..." />
+ # </browser:pages>
+
+ def publishTraverse(self, request, name):
+ try:
+ return getattr(self, name)
+ except AttributeError:
+ raise NotFound(self.context, name, request)
+
+ def browserDefault(self, request):
+ # make ui the default method
+ return self, ('cookSeleniumTests', )
+
+ # --
+ # Accessable methods
+ # --
def cookSeleniumTests(self):
"""Cook selenium tests
_______________________________________________
Kukit-checkins mailing list
[email protected]
http://codespeak.net/mailman/listinfo/kukit-checkins