[Checkins] SVN: zope.browserzcml2/trunk/src/zope/browserzcml2/ Port
zope.browserzcml2 to Zope 3 jim-adapter branch. That basically means
Philipp von Weitershausen
philikon at philikon.de
Fri Apr 21 17:54:32 EDT 2006
Log message for revision 67260:
Port zope.browserzcml2 to Zope 3 jim-adapter branch. That basically means
just changing a bunch of imports, nothing else.
Changed:
U zope.browserzcml2/trunk/src/zope/browserzcml2/README.txt
U zope.browserzcml2/trunk/src/zope/browserzcml2/ftests.py
U zope.browserzcml2/trunk/src/zope/browserzcml2/interfaces.py
U zope.browserzcml2/trunk/src/zope/browserzcml2/tests.py
U zope.browserzcml2/trunk/src/zope/browserzcml2/zcml.py
-=-
Modified: zope.browserzcml2/trunk/src/zope/browserzcml2/README.txt
===================================================================
--- zope.browserzcml2/trunk/src/zope/browserzcml2/README.txt 2006-04-21 20:49:17 UTC (rev 67259)
+++ zope.browserzcml2/trunk/src/zope/browserzcml2/README.txt 2006-04-21 21:54:31 UTC (rev 67260)
@@ -27,18 +27,19 @@
determined by the ``IBrowerPublisher`` interface, all browser views
that want to be published should provide it.
-For browser pages in this context we actually require the ``IPage``
-interface which extends ``IBrowserPublisher`` in one aspect: a
-``__call__`` method.
+For browser pages in this context we actually require the
+``IBrowserPage`` interface which extends ``IBrowserPublisher`` in one
+aspect: a ``__call__`` method.
Simple page
~~~~~~~~~~~
Let's create a simple page. For convenience, we can inherit from
-``zope.formlib.Page`` which will give us ``IPage`` conformance:
+``zope.publisher.browser.BrowserPage`` which will give us
+``IBrowserPage`` conformance:
- >>> import zope.formlib
- >>> class MacGyverPage(zope.formlib.Page):
+ >>> from zope.publisher.browser import BrowserPage
+ >>> class MacGyverPage(BrowserPage):
... def __call__(self):
... return u"I've got a Swiss Army knife"
@@ -77,7 +78,7 @@
Note that we require the page factory to implement
``IBrowserPublisher``. Something else won't work, e.g.:
- >>> from zope.app.publisher.browser import BrowserView
+ >>> from zope.publisher.browser import BrowserView
>>> class MacGyverView(BrowserView):
... def __call__(self):
... return u"I drive a Jeep"
@@ -93,15 +94,15 @@
Traceback (most recent call last):
...
ZopeXMLConfigurationError: File "<string>", line 7.0-12.6
- ConfigurationError: The browser page factory needs to provide
- IPage. A convenient base class is zope.formlib.Page.
+ ConfigurationError: The browser page factory needs to provide IBrowserPage.
+ A convenient base class is zope.publisher.browser.BrowserPage.
It is, however, absolutely possible that the supplied factory isn't in
-fact a class. As long as it implements ``IPage``, it's ok:
+fact a class. As long as it implements ``IBrowserPage``, it's ok:
>>> import zope.interface
- >>> from zope.formlib.interfaces import IPage
- >>> @zope.interface.implementer(IPage)
+ >>> from zope.publisher.interfaces.browser import IBrowserPage
+ >>> @zope.interface.implementer(IBrowserPage)
... def makeAMacGyverPage(context, request):
... return MacGyverPage(context, request)
@@ -129,7 +130,7 @@
is easy:
>>> from zope.app.pagetemplate import ViewPageTemplateFile
- >>> class MacGyverTemplatePage(zope.formlib.Page):
+ >>> class MacGyverTemplatePage(BrowserPage):
... __call__ = ViewPageTemplateFile('test.pt')
The rest works just like with a pure-Python browser page:
@@ -153,7 +154,7 @@
Page Templates bound to pages this way can also make use of auxiliary
view methods on the page class:
- >>> class JackDaltonTemplatePage(zope.formlib.Page):
+ >>> class JackDaltonTemplatePage(BrowserPage):
... __call__ = ViewPageTemplateFile('test2.pt')
... def getName(self):
... return u'Jack Dalton'
Modified: zope.browserzcml2/trunk/src/zope/browserzcml2/ftests.py
===================================================================
--- zope.browserzcml2/trunk/src/zope/browserzcml2/ftests.py 2006-04-21 20:49:17 UTC (rev 67259)
+++ zope.browserzcml2/trunk/src/zope/browserzcml2/ftests.py 2006-04-21 21:54:31 UTC (rev 67260)
@@ -16,23 +16,24 @@
$Id$
"""
import unittest
-import zope.formlib.interfaces
import zope.interface
+from zope.publisher.browser import BrowserPage
+from zope.publisher.interfaces.browser import IBrowserPage
from zope.app.pagetemplate import ViewPageTemplateFile
from zope.app.testing.functional import FunctionalDocFileSuite
-class MacGyverPage(zope.formlib.Page):
+class MacGyverPage(BrowserPage):
def __call__(self):
return u"I've got a Swiss Army knife"
- at zope.interface.implementer(zope.formlib.interfaces.IPage)
+ at zope.interface.implementer(IBrowserPage)
def makeAMacGyverPage(context, request):
return MacGyverPage(context, request)
-class MacGyverTemplatePage(zope.formlib.Page):
+class MacGyverTemplatePage(BrowserPage):
__call__ = ViewPageTemplateFile('test.pt')
-class JackDaltonTemplatePage(zope.formlib.Page):
+class JackDaltonTemplatePage(BrowserPage):
__call__ = ViewPageTemplateFile('test2.pt')
def getName(self):
return u'Jack Dalton'
Modified: zope.browserzcml2/trunk/src/zope/browserzcml2/interfaces.py
===================================================================
--- zope.browserzcml2/trunk/src/zope/browserzcml2/interfaces.py 2006-04-21 20:49:17 UTC (rev 67259)
+++ zope.browserzcml2/trunk/src/zope/browserzcml2/interfaces.py 2006-04-21 21:54:31 UTC (rev 67260)
@@ -19,12 +19,12 @@
import zope.interface
import zope.configuration.fields
+import zope.security.zcml
import zope.schema
import zope.i18nmessageid
_ = zope.i18nmessageid.MessageFactory('zope')
from zope.app.publisher.browser.fields import MenuField
-from zope.app.security.fields import Permission
class IViewCharacteristics(zope.interface.Interface):
@@ -48,7 +48,7 @@
required=True
)
- permission = Permission(
+ permission = zope.security.zcml.Permission(
title=_(u'Permission'),
description=_(u"The permission needed to use the view."),
required=True
Modified: zope.browserzcml2/trunk/src/zope/browserzcml2/tests.py
===================================================================
--- zope.browserzcml2/trunk/src/zope/browserzcml2/tests.py 2006-04-21 20:49:17 UTC (rev 67259)
+++ zope.browserzcml2/trunk/src/zope/browserzcml2/tests.py 2006-04-21 21:54:31 UTC (rev 67260)
@@ -21,7 +21,7 @@
import zope.app.publisher.browser
from zope.testing import doctest, module
from zope.configuration import xmlconfig
-from zope.app.traversing.adapters import DefaultTraversable
+from zope.traversing.adapters import DefaultTraversable
__docformat__ = "reStructuredText"
Modified: zope.browserzcml2/trunk/src/zope/browserzcml2/zcml.py
===================================================================
--- zope.browserzcml2/trunk/src/zope/browserzcml2/zcml.py 2006-04-21 20:49:17 UTC (rev 67259)
+++ zope.browserzcml2/trunk/src/zope/browserzcml2/zcml.py 2006-04-21 21:54:31 UTC (rev 67260)
@@ -18,21 +18,22 @@
__docformat__ = "reStructuredText"
import zope.interface
-import zope.formlib.interfaces
import zope.configuration.fields
import zope.configuration.exceptions
+import zope.component.zcml
+import zope.security.zcml
import zope.i18nmessageid
_ = zope.i18nmessageid.MessageFactory('zope')
+from zope.publisher.browser import BrowserPage
from zope.publisher.interfaces.browser import IBrowserRequest
+from zope.publisher.interfaces.browser import IBrowserPage
from zope.publisher.interfaces.browser import IDefaultBrowserLayer
from zope.browserzcml2.interfaces import IViewCharacteristics
from zope.browserzcml2.interfaces import IRegisterInMenu
from zope.app.publisher.browser.viewmeta import _handle_menu
from zope.app.pagetemplate import ViewPageTemplateFile
-from zope.app.component.metaconfigure import adapter
-from zope.app.security.fields import Permission
class IPageDirective(IViewCharacteristics, IRegisterInMenu):
"""Define a browser page"""
@@ -48,17 +49,17 @@
_context, factory, # IPageDirective
for_, name, permission, layer=IDefaultBrowserLayer, # IViewCharacteristics
menu=None, title=None): # IRegisterInMenu
- if not zope.formlib.interfaces.IPage.implementedBy(factory):
+ if not IBrowserPage.implementedBy(factory):
raise zope.configuration.exceptions.ConfigurationError(
- "The browser page factory needs to provide IPage. "
- "A convenient base class is zope.formlib.Page."
+ "The browser page factory needs to provide IBrowserPage. "
+ "A convenient base class is zope.publisher.browser.BrowserPage."
)
- adapter(_context,
- factory=(factory,),
- for_=(for_, layer),
- provides=zope.formlib.interfaces.IPage,
- permission=permission,
- name=name)
+ zope.component.zcml.adapter(_context,
+ factory=(factory,),
+ for_=(for_, layer),
+ provides=IBrowserPage,
+ permission=permission,
+ name=name)
_handle_menu(_context, menu, title, (for_,), name, permission, layer)
@@ -83,7 +84,7 @@
for_, name, permission, layer=IDefaultBrowserLayer, # IViewCharacteristics
menu=None, title=None): # IRegisterInMenu
- class TemplatePage(zope.formlib.Page):
+ class TemplatePage(BrowserPage):
__call__ = ViewPageTemplateFile(template)
page(_context, TemplatePage,
@@ -124,7 +125,7 @@
required=True
)
- permission = Permission(
+ permission = zope.security.zcml.Permission(
title=_(u'Permission'),
description=_(u"The permission needed to use the view."),
required=True
@@ -148,10 +149,10 @@
def page(self, _context, name, permission, attribute,
menu=None, title=None):
if attribute == '__call__':
- class PageFromClass(zope.formlib.Page, self.class_):
+ class PageFromClass(BrowserPage, self.class_):
pass
else:
- class PageFromClass(zope.formlib.Page, self.class_):
+ class PageFromClass(BrowserPage, self.class_):
def __call__(self, *arg, **kw):
return getattr(self, attribute)(*arg, **kw)
More information about the Checkins
mailing list