[Checkins] SVN: grokcore.view/branches/trolld2m-ztk/ Tests still fail

Souheil CHELFOUH souheil at chelfouh.com
Mon Nov 9 14:40:32 EST 2009


Log message for revision 105546:
  Tests still fail
  

Changed:
  U   grokcore.view/branches/trolld2m-ztk/buildout.cfg
  U   grokcore.view/branches/trolld2m-ztk/setup.py
  U   grokcore.view/branches/trolld2m-ztk/src/grokcore/view/components.py

-=-
Modified: grokcore.view/branches/trolld2m-ztk/buildout.cfg
===================================================================
--- grokcore.view/branches/trolld2m-ztk/buildout.cfg	2009-11-09 19:24:25 UTC (rev 105545)
+++ grokcore.view/branches/trolld2m-ztk/buildout.cfg	2009-11-09 19:40:32 UTC (rev 105546)
@@ -1,15 +1,26 @@
 [buildout]
 develop = .
-extends = http://grok.zope.org/releaseinfo/grok-1.0b1.cfg
+extends = http://svn.zope.org/*checkout*/zopetoolkit/trunk/ztk.cfg?rev=105404
 parts =
     interpreter
     test
 versions = versions
-extensions = buildout.dumppickedversions
 
 
 [versions]
-grokcore.view =
+grokcore.annotation = 1.1
+grokcore.component = 1.7
+grokcore.formlib = 1.4
+grokcore.security = 1.2
+grokcore.site = 1.1
+grokcore.startup = 0.4
+grokcore.viewlet = 1.3
+grokui.admin = 0.3.2
+martian = 0.11.1
+grokcore.view = 
+martian = 0.12
+grokcore.component = 2.0
+grokcore.security = 1.3
 
 
 [interpreter]
@@ -20,5 +31,5 @@
 
 [test]
 recipe = zc.recipe.testrunner
-eggs = grokcore.view
+eggs = grokcore.view [test]
 defaults = ['--tests-pattern', '^f?tests$', '-v']

Modified: grokcore.view/branches/trolld2m-ztk/setup.py
===================================================================
--- grokcore.view/branches/trolld2m-ztk/setup.py	2009-11-09 19:24:25 UTC (rev 105545)
+++ grokcore.view/branches/trolld2m-ztk/setup.py	2009-11-09 19:40:32 UTC (rev 105546)
@@ -10,9 +10,29 @@
     read('CHANGES.txt')
     )
 
+install_requires = [
+    'setuptools',
+    'martian >= 0.10',
+    'grokcore.component >= 1.5',
+    'grokcore.security >= 1.2',
+    'zope.schema',
+    'zope.security',
+    'zope.traversing',
+    'zope.browserresource >= 3.9.0',
+    'zope.ptresource >= 3.9.0',
+    ]
+
+tests_require = install_requires + [
+    'zope.testbrowser',
+    'zope.securitypolicy',
+    'zope.app.container',
+    'zope.app.zcmlfiles',
+    'zope.app.authentication',
+    ]
+
 setup(
     name='grokcore.view',
-    version = '1.12.2',
+    version = '1.13dev',
     author='Grok Team',
     author_email='grok-dev at zope.org',
     url='http://grok.zope.org',
@@ -26,27 +46,12 @@
                  'Programming Language :: Python',
                  'Framework :: Zope3',
                  ],
-
     packages=find_packages('src'),
     package_dir = {'': 'src'},
     namespace_packages=['grokcore'],
     include_package_data = True,
     zip_safe=False,
-    install_requires=['setuptools',
-                      'martian >= 0.10',
-                      'grokcore.component >= 1.5',
-                      'grokcore.security >= 1.2',
-                      'zope.schema',
-                      'zope.security',
-                      'zope.traversing',
-                      'zope.app.publisher >= 3.5',
-                      'zope.app.pagetemplate',
-                      # for ftests:
-                      # TODO move these to extra_requires?
-                      'zope.testbrowser',
-                      'zope.securitypolicy',
-                      'zope.app.container',
-                      'zope.app.zcmlfiles',
-                      'zope.app.authentication',
-                      ],
+    tests_require = tests_require,
+    install_requires = install_requires,
+    extras_require = {'test': tests_require},
 )

Modified: grokcore.view/branches/trolld2m-ztk/src/grokcore/view/components.py
===================================================================
--- grokcore.view/branches/trolld2m-ztk/src/grokcore/view/components.py	2009-11-09 19:24:25 UTC (rev 105545)
+++ grokcore.view/branches/trolld2m-ztk/src/grokcore/view/components.py	2009-11-09 19:40:32 UTC (rev 105546)
@@ -19,13 +19,15 @@
 
 from zope import component
 from zope import interface
+from zope.browserresource import directory
+from zope.browserresource.file import FileResourceFactory
+from zope.browserresource.interfaces import IResourceFactoryFactory
+from zope.pagetemplate import pagetemplate, pagetemplatefile
+from zope.pagetemplate.engine import TrustedAppPT
+from zope.ptresource.ptresource import PageTemplateResourceFactory 
 from zope.publisher.browser import BrowserPage
+from zope.publisher.interfaces import NotFound
 from zope.publisher.publish import mapply
-from zope.pagetemplate import pagetemplate, pagetemplatefile
-from zope.app.pagetemplate.engine import TrustedAppPT
-from zope.app.publisher.browser import directoryresource
-from zope.app.publisher.browser.pagetemplateresource import \
-    PageTemplateResourceFactory
 
 import martian.util
 from grokcore.view import interfaces, util
@@ -238,6 +240,7 @@
         namespace.update(template.pt_getContext())
         return template.pt_render(namespace)
 
+
 class PageTemplateFile(PageTemplate):
     # For BBB
     def __init__(self, filename, _prefix=None):
@@ -248,22 +251,46 @@
         self.setFromFilename(filename, _prefix)
 
 
-class DirectoryResource(directoryresource.DirectoryResource):
-    # We subclass this, because we want to override factories for
-    # .pt and .html file types, not creating pagetemplate resources.
-    resource_factories = {}
-    for type, factory in (directoryresource.DirectoryResource.
-                          resource_factories.items()):
-        if factory is PageTemplateResourceFactory:
-            continue
-        resource_factories[type] = factory
+_marker = object()
 
-    # Hook for our own DirectoryResourceFactory. Can only be set *after*
-    # having defined the DirectoryResourceFactory class.
-    directory_factory = None
+class DirectoryResource(directory.DirectoryResource):
+    forbidden_names = ('.svn', )
+    
+    def get(self, name, default=_marker):
 
+        for pat in self.forbidden_names:
+            if fnmatch.fnmatch(name, pat):
+                if default is _marker:
+                    raise NotFound(None, name)
+                else:
+                    return default
+        
+        path = self.context.path
+        filename = os.path.join(path, name)
+        isfile = os.path.isfile(filename)
+        isdir = os.path.isdir(filename)
 
-class DirectoryResourceFactory(directoryresource.DirectoryResourceFactory):
+        if not (isfile or isdir):
+            if default is _marker:
+                raise NotFound(None, name)
+            return default
+
+        if isfile:
+            ext = os.path.splitext(os.path.normcase(name))[1][1:]
+            factory = component.queryUtility(IResourceFactoryFactory, ext,
+                                             self.default_factory)
+            if factory is PageTemplateResourceFactory:
+                factory = self.default_factory
+        else:
+            factory = self.directory_factory
+
+        rname = self.__name__ + '/' + name
+        resource = factory(filename, self.context.checker, rname)(self.request)
+        resource.__parent__ = self
+        return resource
+
+
+class DirectoryResourceFactory(directory.DirectoryResourceFactory):
     # We need this to allow hooking up our own DirectoryResource class.
     factoryClass = DirectoryResource
 



More information about the checkins mailing list