[Checkins] SVN: Sandbox/darrylcousins/mars.viewlet/ Updates to get
this old code working again
Darryl Cousins
darryl at darrylcousins.net.nz
Sat Feb 9 21:43:03 EST 2008
Log message for revision 83700:
Updates to get this old code working again
Changed:
U Sandbox/darrylcousins/mars.viewlet/buildout.cfg
U Sandbox/darrylcousins/mars.viewlet/setup.py
U Sandbox/darrylcousins/mars.viewlet/src/mars/viewlet/ftests/ftesting.zcml
U Sandbox/darrylcousins/mars.viewlet/src/mars/viewlet/ftests/test_functional.py
U Sandbox/darrylcousins/mars.viewlet/src/mars/viewlet/ftests/viewlet.py
U Sandbox/darrylcousins/mars.viewlet/src/mars/viewlet/meta.py
U Sandbox/darrylcousins/mars.viewlet/src/mars/viewlet/tests.py
U Sandbox/darrylcousins/mars.viewlet/src/mars/viewlet/viewlet.txt
-=-
Modified: Sandbox/darrylcousins/mars.viewlet/buildout.cfg
===================================================================
--- Sandbox/darrylcousins/mars.viewlet/buildout.cfg 2008-02-10 02:41:05 UTC (rev 83699)
+++ Sandbox/darrylcousins/mars.viewlet/buildout.cfg 2008-02-10 02:43:03 UTC (rev 83700)
@@ -1,13 +1,13 @@
[buildout]
develop = .
parts = test
-extends = http://grok.zope.org/releaseinfo/grok-0.11.1.cfg
+extends = http://download.zope.org/zope3.4/versions-3.4.0c1.cfg
versions = versions
[versions]
-martian = 0.9.2
+grok = 0.12dev
+martian = 0.9.3
-
[test]
recipe = zc.recipe.testrunner
eggs = mars.viewlet [test]
Modified: Sandbox/darrylcousins/mars.viewlet/setup.py
===================================================================
--- Sandbox/darrylcousins/mars.viewlet/setup.py 2008-02-10 02:41:05 UTC (rev 83699)
+++ Sandbox/darrylcousins/mars.viewlet/setup.py 2008-02-10 02:43:03 UTC (rev 83700)
@@ -14,15 +14,21 @@
This package uses ``martian`` and ``grok`` to register viewlets
for applications built on the ``zope`` framework.""",
long_description=(
- read('src/mars/viewlet/README.txt') +
+ read('mars/viewlet/README.txt') +
read('CHANGES.txt')
),
- packages=find_packages('src'),
- package_dir = {'': 'src'},
- include_package_data = True,
- zip_safe=False,
+ classifiers = ['Development Status :: 1 - Planning',
+ 'Intended Audience :: Developers',
+ 'License :: Other/Proprietary License',
+ 'Programming Language :: Python',
+ 'Operating System :: OS Independent',
+ 'Topic :: Software Development :: Build Tools',
+ 'Framework :: Zope3',
+ ],
+ packages=find_packages(),
+ namespace_packages=['mars'],
+ zip_safe=True,
license='ZPL',
- dependency_links = ['http://download.zope.org/distribution'],
extras_require = dict(
test=['zope.app.testing',
'zope.testbrowser',
Modified: Sandbox/darrylcousins/mars.viewlet/src/mars/viewlet/ftests/ftesting.zcml
===================================================================
--- Sandbox/darrylcousins/mars.viewlet/src/mars/viewlet/ftests/ftesting.zcml 2008-02-10 02:41:05 UTC (rev 83699)
+++ Sandbox/darrylcousins/mars.viewlet/src/mars/viewlet/ftests/ftesting.zcml 2008-02-10 02:43:03 UTC (rev 83700)
@@ -1,18 +1,38 @@
<configure xmlns="http://namespaces.zope.org/zope"
- xmlns:meta="http://namespaces.zope.org/meta"
- xmlns:browser="http://namespaces.zope.org/browser"
+ xmlns:grok="http://namespaces.zope.org/grok"
i18n_domain="zope"
package="mars.viewlet.ftests">
- <include package="grok" file="meta.zcml" />
+ <include package="grok" />
<include package="mars.template" file="meta.zcml" />
- <include package="mars.layer" file="meta.zcml" />
<include package="mars.view" file="meta.zcml" />
<include package="mars.viewlet" file="meta.zcml" />
+ <grok:grok package="mars.viewlet.ftests" />
+ <securityPolicy
+ component="zope.securitypolicy.zopepolicy.ZopeSecurityPolicy"
+ />
- <include package="grok" />
+ <unauthenticatedPrincipal
+ id="zope.anybody"
+ title="Unauthenticated User"
+ />
+ <grant
+ permission="zope.View"
+ principal="zope.anybody"
+ />
+ <principal
+ id="zope.mgr"
+ title="Manager"
+ login="mgr"
+ password="mgrpw"
+ />
+
+ <role id="zope.Manager" title="Site Manager" />
+ <grantAll role="zope.Manager" />
+ <grant role="zope.Manager" principal="zope.mgr" />
+
</configure>
Modified: Sandbox/darrylcousins/mars.viewlet/src/mars/viewlet/ftests/test_functional.py
===================================================================
--- Sandbox/darrylcousins/mars.viewlet/src/mars/viewlet/ftests/test_functional.py 2008-02-10 02:41:05 UTC (rev 83699)
+++ Sandbox/darrylcousins/mars.viewlet/src/mars/viewlet/ftests/test_functional.py 2008-02-10 02:43:03 UTC (rev 83700)
@@ -1,3 +1,4 @@
+import os
import unittest
from zope.testing import doctest
@@ -3,6 +4,9 @@
from zope.app.testing.functional import FunctionalTestSetup, getRootFolder
from zope.app.testing import functional
-functional.defineLayer('TestLayer', 'ftesting.zcml')
+ftesting_zcml = os.path.join(os.path.dirname(__file__), 'ftesting.zcml')
+TestLayer = functional.ZCMLLayer(
+ ftesting_zcml, __name__, 'TestLayer')
+
globs = dict(getRootFolder=getRootFolder)
optionflags = doctest.NORMALIZE_WHITESPACE + doctest.ELLIPSIS
@@ -23,12 +27,8 @@
suite = unittest.TestSuite()
dottedname = 'mars.viewlet.ftests.viewlet'
test = doctest.DocTestSuite(
- dottedname, setUp=setUp, globs=globs,
+ dottedname, setUp=setUp, extraglobs=globs,
tearDown=tearDown, optionflags=optionflags)
test.layer = TestLayer
suite.addTest(test)
return suite
-
-if __name__ == '__main__':
- unittest.main(defaultTest='test_suite')
-
Modified: Sandbox/darrylcousins/mars.viewlet/src/mars/viewlet/ftests/viewlet.py
===================================================================
--- Sandbox/darrylcousins/mars.viewlet/src/mars/viewlet/ftests/viewlet.py 2008-02-10 02:41:05 UTC (rev 83699)
+++ Sandbox/darrylcousins/mars.viewlet/src/mars/viewlet/ftests/viewlet.py 2008-02-10 02:43:03 UTC (rev 83700)
@@ -1,8 +1,5 @@
"""
- >>> import grok
- >>> grok.grok('mars.viewlet.ftests.viewlet')
- >>> from mars.viewlet.ftests.viewlet import Mammoth
>>> getRootFolder()["manfred"] = Mammoth()
>>> from zope.testbrowser.testing import Browser
@@ -32,6 +29,8 @@
import mars.template
### This the context of the views
+### we don't need to define grok.context on the views because this is the
+### implied `module` level context
class Mammoth(grok.Model):
title = u'Manfred'
@@ -39,10 +38,11 @@
class IModuleLayer(mars.layer.IMinimalLayer):
pass
-mars.layer.layer(IModuleLayer)
+### all objects in module are registered to this layer
+grok.layer(IModuleLayer)
### this skin uses the defined layer
-class MySkin(mars.layer.Skin):
+class MySkin(grok.Skin):
pass
### the page that we are looking at
@@ -66,9 +66,9 @@
pass
### viewlets for leftcolumn manager
+### vanilla viewlet with render method
class FirstViewlet(mars.viewlet.Viewlet):
"""A simple viewlet"""
- grok.context(Mammoth)
mars.viewlet.manager(LeftColumn)
mars.viewlet.view(Index) # not required
weight = 0
@@ -76,10 +76,9 @@
def render(self):
return u'<div>First viewlet content</div>'
-### the second of which uses a template
+### the second of which uses a regsitered template
class SecondViewlet(mars.viewlet.Viewlet):
"""A viewlet that has its own template"""
- grok.context(Mammoth)
mars.viewlet.manager(LeftColumn)
weight = 1
Modified: Sandbox/darrylcousins/mars.viewlet/src/mars/viewlet/meta.py
===================================================================
--- Sandbox/darrylcousins/mars.viewlet/src/mars/viewlet/meta.py 2008-02-10 02:41:05 UTC (rev 83699)
+++ Sandbox/darrylcousins/mars.viewlet/src/mars/viewlet/meta.py 2008-02-10 02:43:03 UTC (rev 83700)
@@ -12,22 +12,28 @@
component_class = mars.viewlet.ViewletManager
provides = IViewletManager
- def register(self, factory, module_info):
+ def register(self, factory, config):
view = util.class_annotation(factory, 'mars.viewlet.view',
- None) or IBrowserView
-# print '\nname:', self.view_name,'context:', self.view_context,'factory:', factory,\
-# 'layer:', self.view_layer, 'provides', self.provides, 'view', view, '\n'
+ None) or IBrowserView
zope.component.provideAdapter(factory,
adapts=(self.view_context, self.view_layer, view),
provides=self.provides,
name=self.view_name)
+ adapts = (self.view_context, self.view_layer, view)
+ config.action(
+ discriminator=('adapter', adapts, self.provides, self.view_name),
+ callable=zope.component.provideAdapter,
+ args=(factory, adapts, self.provides, self.view_name),
+ )
+
class ViewletGrokker(ViewGrokkerBase):
component_class = mars.viewlet.Viewlet
+ provides = IViewlet
- def register(self, factory, module_info):
+ def register(self, factory, config):
manager = util.class_annotation(factory, 'mars.viewlet.manager',
None) or module_info.getAnnotation('mars.viewlet.manager',
@@ -35,32 +41,39 @@
view = util.class_annotation(factory, 'mars.viewlet.view',
None) or IBrowserView
-# print '\nname:', self.view_name,'context:', self.view_context,'factory:', factory,\
-# 'layer:', self.view_layer, 'manager', manager, 'view: ', view,'\n'
- zope.component.provideAdapter(factory,
- adapts=(self.view_context, self.view_layer,
- view, manager),
- provides=IViewlet,
- name=self.view_name)
+ adapts = (self.view_context, self.view_layer, view, manager)
+ config.action(
+ discriminator=('adapter', adapts, self.provides, self.view_name),
+ callable=zope.component.provideAdapter,
+ args=(factory, adapts, self.provides, self.view_name),
+ )
+
+ #print '\nname:', self.view_name,'context:', self.view_context,'factory:', factory,\
+ # 'layer:', self.view_layer, 'manager', manager, 'view: ', view,'\n'
+
+
class SimpleViewletGrokker(ViewGrokkerBase):
component_class = mars.viewlet.SimpleViewlet
+ provides = IViewlet
- def register(self, factory, module_info):
+ def register(self, factory, config):
manager = util.class_annotation(factory, 'mars.viewlet.manager',
None) or module_info.getAnnotation('mars.viewlet.manager',
- None) or IViewletManager # IViewletManager?
-
+ None) or IViewletManager
view = util.class_annotation(factory, 'mars.viewlet.view',
None) or IBrowserView
+
+ adapts = (self.view_context, self.view_layer, view, manager)
+
+ config.action(
+ discriminator=('adapter', adapts, self.provides, self.view_name),
+ callable=zope.component.provideAdapter,
+ args=(factory, adapts, self.provides, self.view_name),
+ )
+
# print '\nname:', self.view_name,'context:', self.view_context,'factory:', factory,\
# 'layer:', self.view_layer, 'manager', manager, 'view: ', view,'\n'
- zope.component.provideAdapter(factory,
- adapts=(self.view_context, self.view_layer,
- view, manager),
- provides=IViewlet,
- name=self.view_name)
-
Modified: Sandbox/darrylcousins/mars.viewlet/src/mars/viewlet/tests.py
===================================================================
--- Sandbox/darrylcousins/mars.viewlet/src/mars/viewlet/tests.py 2008-02-10 02:41:05 UTC (rev 83699)
+++ Sandbox/darrylcousins/mars.viewlet/src/mars/viewlet/tests.py 2008-02-10 02:43:03 UTC (rev 83700)
@@ -1,7 +1,8 @@
import unittest
-from zope.testing import doctest
+from zope.testing import doctest
import zope.interface
+from zope.configuration.config import ConfigurationMachine
from martian.interfaces import IModuleInfo
@@ -13,20 +14,15 @@
def getAnnotation(self, name, default):
return default
-globs = dict(module_info=ModuleInfo())
+globs = dict(module_info=ModuleInfo(),
+ config=ConfigurationMachine())
optionflags = doctest.NORMALIZE_WHITESPACE + doctest.ELLIPSIS
-def setUp(test):
- # register provider TALES
- from zope.app.pagetemplate import metaconfigure
- from zope.contentprovider import tales
- metaconfigure.registerType('provider', tales.TALESProviderExpression)
-
def test_suite():
suite = unittest.TestSuite()
suite.addTests([doctest.DocFileSuite('viewlet.txt',
- setUp=setUp, globs=globs,
+ globs=globs,
optionflags=optionflags),
])
Modified: Sandbox/darrylcousins/mars.viewlet/src/mars/viewlet/viewlet.txt
===================================================================
--- Sandbox/darrylcousins/mars.viewlet/src/mars/viewlet/viewlet.txt 2008-02-10 02:41:05 UTC (rev 83699)
+++ Sandbox/darrylcousins/mars.viewlet/src/mars/viewlet/viewlet.txt 2008-02-10 02:43:03 UTC (rev 83700)
@@ -24,6 +24,8 @@
>>> import mars.viewlet
>>> import mars.template
+Create a temp directory to store template files.
+
>>> import os, tempfile
>>> temp_dir = tempfile.mkdtemp()
@@ -33,8 +35,7 @@
... zope.interface.implements(zope.interface.Interface)
>>> content = Content()
-And a request object for ``viewing`` the viewlets. We'll create a special
-request object that implements IDefaultBrowserLayer
+And a request object for ``viewing`` the viewlets.
>>> from zope.publisher.browser import TestRequest
>>> request = TestRequest()
@@ -53,7 +54,7 @@
----------------
Those regions are just content providers called viewlet managers that manage a
-special type of content providers known as viewlets. Every viewlet manager
+special type of content provider known as viewlets. Every viewlet manager
handles the viewlets registered for it:
>>> class MyManager(mars.viewlet.ViewletManager):
@@ -89,9 +90,9 @@
Oh. Still nothing? Of course we need to ``grok`` our viewlet.
>>> from mars.viewlet.meta import ViewletGrokker
- >>> ViewletGrokker().grok('', FirstViewlet, zope.interface.Interface,
- ... module_info, None)
+ >>> ViewletGrokker().grok('', FirstViewlet, module_info, config)
True
+ >>> config.execute_actions()
Lets try again to render the viewlet manager.
@@ -122,13 +123,13 @@
Both the viewlet and the template need to be ``grokked``.
- >>> ViewletGrokker().grok('', SecondViewlet, zope.interface.Interface,
- ... module_info, None)
+ >>> ViewletGrokker().grok('', SecondViewlet, module_info, config)
True
>>> from mars.template.meta import TemplateFactoryGrokker
- >>> TemplateFactoryGrokker().grok('', ViewTemplate, None, module_info, None)
+ >>> TemplateFactoryGrokker().grok('', ViewTemplate, module_info, config)
True
+ >>> config.execute_actions()
Rendering the manager should now include both viewlets.
@@ -153,9 +154,9 @@
do that.
>>> from mars.viewlet.meta import ViewletManagerGrokker
- >>> ViewletManagerGrokker().grok('', MyManager, zope.interface.Interface,
- ... module_info, None)
+ >>> ViewletManagerGrokker().grok('', MyManager, module_info, config)
True
+ >>> config.execute_actions()
And we try the lookup again.
More information about the Checkins
mailing list