[Checkins] SVN: Sandbox/darrylcousins/mars.resource/ Updating

Darryl Cousins darryl at darrylcousins.net.nz
Sun Feb 3 22:20:04 EST 2008


Log message for revision 83480:
  Updating

Changed:
  U   Sandbox/darrylcousins/mars.resource/buildout.cfg
  U   Sandbox/darrylcousins/mars.resource/src/mars/resource/ftests/ftesting.zcml
  U   Sandbox/darrylcousins/mars.resource/src/mars/resource/ftests/resource.py
  U   Sandbox/darrylcousins/mars.resource/src/mars/resource/ftests/test_functional.py
  U   Sandbox/darrylcousins/mars.resource/src/mars/resource/meta.py
  U   Sandbox/darrylcousins/mars.resource/src/mars/resource/resource.txt
  U   Sandbox/darrylcousins/mars.resource/src/mars/resource/tests.py

-=-
Modified: Sandbox/darrylcousins/mars.resource/buildout.cfg
===================================================================
--- Sandbox/darrylcousins/mars.resource/buildout.cfg	2008-02-04 03:19:34 UTC (rev 83479)
+++ Sandbox/darrylcousins/mars.resource/buildout.cfg	2008-02-04 03:20:03 UTC (rev 83480)
@@ -1,15 +1,11 @@
 [buildout]
 develop = .
 parts = test
-eggs-directory = /opt/buildout/mars/eggs
-develop-eggs-directory = /opt/buildout/mars/develop-eggs
-extends = http://grok.zope.org/releaseinfo/grok-0.10.2.cfg
+extends = http://grok.zope.org/releaseinfo/grok-0.11.1.cfg
 versions = versions
-executable = /opt/sandbox/mars/bin/python2.4
 
 [versions]
-zope.securitypolicy = 3.4.0
-zope.app.securitypolicy = 3.4.3
+martian = 0.9.2
 
 [test]
 recipe = zc.recipe.testrunner
@@ -18,6 +14,3 @@
 	'-v'
 	]
 
-[zope3]
-location = .
-

Modified: Sandbox/darrylcousins/mars.resource/src/mars/resource/ftests/ftesting.zcml
===================================================================
--- Sandbox/darrylcousins/mars.resource/src/mars/resource/ftests/ftesting.zcml	2008-02-04 03:19:34 UTC (rev 83479)
+++ Sandbox/darrylcousins/mars.resource/src/mars/resource/ftests/ftesting.zcml	2008-02-04 03:20:03 UTC (rev 83480)
@@ -1,14 +1,13 @@
 <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.resource.ftests">
 
   <include package="grok" file="meta.zcml" />
-  <include package="mars.layer" file="meta.zcml" />
   <include package="mars.resource" file="meta.zcml" />
 
   <include package="grok" />
+  <grok:grok package="mars.resource.ftests" />
 
 </configure>
 

Modified: Sandbox/darrylcousins/mars.resource/src/mars/resource/ftests/resource.py
===================================================================
--- Sandbox/darrylcousins/mars.resource/src/mars/resource/ftests/resource.py	2008-02-04 03:19:34 UTC (rev 83479)
+++ Sandbox/darrylcousins/mars.resource/src/mars/resource/ftests/resource.py	2008-02-04 03:20:03 UTC (rev 83480)
@@ -1,8 +1,5 @@
 """
 
-  >>> import grok
-  >>> grok.grok('mars.resource.ftests.resource')
-
   >>> from zope.testbrowser.testing import Browser
   >>> browser = Browser()
   >>> browser.handleErrors = False
@@ -39,9 +36,9 @@
 
 # set layer on module level, all class declarations that use directive
 # mars.layer.layer will use this layer - Skin, views, resources and templates
-mars.layer.layer(IMyLayer)
+grok.layer(IMyLayer)
 
-class MySkin(mars.layer.Skin):
+class MySkin(grok.Skin):
     pass
 
 # define a file resource
@@ -52,7 +49,7 @@
 # define an image resource
 class Logo(mars.resource.ResourceFactory):
     grok.name('logo.jpg')
-    mars.resource.file('resources/logo.jpg')
+    mars.resource.image('resources/logo.jpg')
 
 # define a resource directory, takes name from factory.__name__
 class Resources(mars.resource.ResourceDirectoryFactory):

Modified: Sandbox/darrylcousins/mars.resource/src/mars/resource/ftests/test_functional.py
===================================================================
--- Sandbox/darrylcousins/mars.resource/src/mars/resource/ftests/test_functional.py	2008-02-04 03:19:34 UTC (rev 83479)
+++ Sandbox/darrylcousins/mars.resource/src/mars/resource/ftests/test_functional.py	2008-02-04 03:20:03 UTC (rev 83480)
@@ -1,17 +1,20 @@
+import os
 import unittest
+
 from zope.testing import doctest
-
-from zope.app.testing.functional import FunctionalTestSetup
 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')
+
 optionflags = doctest.NORMALIZE_WHITESPACE + doctest.ELLIPSIS
 
 def setUp(test):
-    FunctionalTestSetup().setUp()
+    functional.FunctionalTestSetup().setUp()
 
 def tearDown(test):
-    FunctionalTestSetup().tearDown()
+    functional.FunctionalTestSetup().tearDown()
 
 def test_suite():
     suite = unittest.TestSuite()

Modified: Sandbox/darrylcousins/mars.resource/src/mars/resource/meta.py
===================================================================
--- Sandbox/darrylcousins/mars.resource/src/mars/resource/meta.py	2008-02-04 03:19:34 UTC (rev 83479)
+++ Sandbox/darrylcousins/mars.resource/src/mars/resource/meta.py	2008-02-04 03:20:03 UTC (rev 83480)
@@ -10,19 +10,22 @@
 from zope.app.publisher.browser.directoryresource import DirectoryResourceFactory
 
 import grok
-from grok.util import check_permission, get_default_permission
+from grok.util import (get_default_permission,
+                        make_checker,
+                        determine_class_directive)
 
 import martian
 from martian import util
 
 import mars.resource
+
 allowed_names = ('GET', 'HEAD', 'publishTraverse', 'browserDefault',
                  'request', '__call__')
 
 class ResourceGrokker(martian.ClassGrokker):
     component_class = mars.resource.ResourceFactory
 
-    def grok(self, name, factory, context, module_info, templates):
+    def grok(self, name, factory, module_info, config, *kws):
         factory.module_info = module_info
         factory_name = factory.__name__.lower()
 
@@ -55,38 +58,33 @@
                             % (factory.__name__, file_name),
                             factory)
 
-        provides = util.class_annotation(factory, 'grok.provides', IBrowserRequest)
-        view_layer = util.class_annotation(factory, 'mars.layer.layer',
-                                       None) or module_info.getAnnotation('mars.layer.layer',
-                                       None) or IDefaultBrowserLayer
+        view_layer = determine_class_directive('grok.layer',
+                                               factory, module_info,
+                                               default=IDefaultBrowserLayer)
         view_name = util.class_annotation(factory, 'grok.name', '')
 
-        # protect resource, public by default
-# TODO this isn't working - the resource is always public.
-        permission = get_default_permission(factory)
-        if permission is not None:
-            check_permission(factory, permission)
-        if permission is None or permission == 'zope.Public':
-            checker = NamesChecker(allowed_names)
-        else:
-            checker = NamesChecker(allowed_names, permission)
-
+        checker = NamesChecker(allowed_names)
         if file:
             factory = FileResourceFactory(file, checker, view_name)
         elif image:
             factory = ImageResourceFactory(image, checker, view_name)
 
-        #print '\nname:', view_name, 'factory:', factory, 'provides:', provides, '\n'
-        zope.component.provideAdapter(factory,
-                                 adapts=(view_layer, ),
-                                 provides=provides,
-                                 name=view_name)
+        adapts = (view_layer, )
+
+        config.action(
+            discriminator=('adapter', adapts,
+                            IBrowserRequest, view_name),
+            callable=zope.component.provideAdapter,
+            args=(factory, adapts, 
+                            IBrowserRequest, view_name),
+            )
+
         return True
 
 class ResourceDirectoryGrokker(martian.ClassGrokker):
     component_class = mars.resource.ResourceDirectoryFactory
 
-    def grok(self, name, factory, context, module_info, templates):
+    def grok(self, name, factory, module_info, config, *kws):
         factory.module_info = module_info
         factory_name = factory.__name__.lower()
 
@@ -101,30 +99,21 @@
                             % (factory.__name__, directory_name),
                             factory)
 
-        provides = util.class_annotation(factory, 'grok.provides', IBrowserRequest)
-        view_layer = util.class_annotation(factory, 'mars.layer.layer',
-                                       None) or module_info.getAnnotation('mars.layer.layer',
-                                       None) or IDefaultBrowserLayer
+        view_layer = determine_class_directive('grok.layer',
+                                               factory, module_info,
+                                               default=IDefaultBrowserLayer)
         view_name = util.class_annotation(factory, 'grok.name', factory_name)
 
-        # protect resource, public by default
-# TODO this isn't working - the resource is always public.
-        permission = get_default_permission(factory)
-        if permission is not None:
-            check_permission(factory, permission)
-        anames = allowed_names + ('__getitem__', 'get')
-        if permission is None or permission == 'zope.Public':
-            checker = NamesChecker(anames)
-        else:
-            checker = NamesChecker(anames, permission)
-
+        checker = NamesChecker(allowed_names)
         factory = DirectoryResourceFactory(directory, checker, view_name)
 
-        #print '\nname:', view_name, 'factory:', factory, 'provides:', provides, '\n'
-        zope.component.provideAdapter(factory,
-                                 adapts=(view_layer, ),
-                                 provides=provides,
-                                 name=view_name)
+        adapts = (view_layer, )
+
+        config.action( 
+            discriminator=('adapter', adapts, IBrowserRequest, view_name),
+            callable=zope.component.provideAdapter,
+            args=(factory, adapts, IBrowserRequest, view_name),
+            )
         return True
 
 

Modified: Sandbox/darrylcousins/mars.resource/src/mars/resource/resource.txt
===================================================================
--- Sandbox/darrylcousins/mars.resource/src/mars/resource/resource.txt	2008-02-04 03:19:34 UTC (rev 83479)
+++ Sandbox/darrylcousins/mars.resource/src/mars/resource/resource.txt	2008-02-04 03:20:03 UTC (rev 83480)
@@ -35,9 +35,9 @@
 module is ``grokked`` on start up.
 
   >>> from mars.resource.meta import ResourceGrokker
-  >>> ResourceGrokker().grok('', Style, zope.interface.Interface,
-  ...                               module_info, {})
+  >>> ResourceGrokker().grok('', Style, module_info, config)
   True
+  >>> config.execute_actions()
 
 We can now look up the resource.
 

Modified: Sandbox/darrylcousins/mars.resource/src/mars/resource/tests.py
===================================================================
--- Sandbox/darrylcousins/mars.resource/src/mars/resource/tests.py	2008-02-04 03:19:34 UTC (rev 83479)
+++ Sandbox/darrylcousins/mars.resource/src/mars/resource/tests.py	2008-02-04 03:20:03 UTC (rev 83480)
@@ -2,6 +2,8 @@
 from zope.testing import doctest
 
 import zope.interface
+from zope.configuration.config import ConfigurationMachine
+from zope.app.testing import setup
 
 from martian.interfaces import IModuleInfo
 
@@ -13,24 +15,17 @@
     def getAnnotation(self, name, default):
         return default
 
-from zope.app.testing import setup
-globs = dict(module_info=ModuleInfo(), root=setup.placefulSetUp(True))
+globs = dict(module_info=ModuleInfo(), 
+             root=setup.placefulSetUp(True),
+             config=ConfigurationMachine())
 
 optionflags = doctest.NORMALIZE_WHITESPACE + doctest.ELLIPSIS
 
-def setUp(test):
-    pass
-
 def test_suite():
     suite = unittest.TestSuite()
     suite.addTests([doctest.DocFileSuite('./resource.txt',
-                             setUp=setUp, globs=globs,
+                             globs=globs,
                              optionflags=optionflags),
                    ])
 
     return suite
-
-if __name__ == '__main__':
-    unittest.main(defaultTest='test_suite')
-
-



More information about the Checkins mailing list