[Checkins] SVN: grok/branches/jw-conditional-features/s work on optional grokcore.* features

Jan Wijbrand Kolman cvs-admin at zope.org
Tue May 1 17:41:41 UTC 2012


Log message for revision 125535:
  work on optional grokcore.* features

Changed:
  U   grok/branches/jw-conditional-features/setup.py
  U   grok/branches/jw-conditional-features/src/grok/components.py
  U   grok/branches/jw-conditional-features/src/grok/configure.zcml
  U   grok/branches/jw-conditional-features/src/grok/ftests/chameleon/chameleon_available.py
  U   grok/branches/jw-conditional-features/src/grok/meta.zcml

-=-
Modified: grok/branches/jw-conditional-features/setup.py
===================================================================
--- grok/branches/jw-conditional-features/setup.py	2012-05-01 17:39:31 UTC (rev 125534)
+++ grok/branches/jw-conditional-features/setup.py	2012-05-01 17:41:37 UTC (rev 125535)
@@ -13,11 +13,32 @@
     '********\n'
     )
 
+classic_require = [
+    'grokcore.catalog',
+    'grokcore.formlib >= 1.4',
+    'grokcore.json >= 1.2dev',
+    'grokcore.message',
+    'grokcore.rest >= 1.3dev',
+    'grokcore.security[role] >= 1.6dev',
+    'grokcore.viewlet >= 1.10dev',
+    'grokcore.xmlrpc >= 1.2dev',
+    'simplejson',
+    'zc.catalog',
+    'zope.errorview [browser]',
+    'zope.i18n',
+    'zope.i18nmessageid',
+    'zope.login',
+    'zope.password',
+    'zope.principalregistry',
+    ]
 tests_require = [
+    'grokcore.chameleon',
+    'grokcore.layout',
+    'grokcore.message',
     'zope.app.wsgi',
     'zope.configuration',
     'zope.testing',
-    ]
+    ] + classic_require
 
 setup(
     name='grok',
@@ -41,30 +62,18 @@
     include_package_data = True,
     zip_safe=False,
     install_requires=[
-        'grokcore.annotation >= 1.1',
-        'grokcore.catalog',
-        'grokcore.chameleon',
-        'grokcore.component >= 2.3',
+        'grokcore.annotation >= 1.3dev',
+        'grokcore.component >= 2.5dev',
         'grokcore.content',
-        'grokcore.formlib >= 1.4',
-        'grokcore.json',
-        'grokcore.layout',
-        'grokcore.message',
-        'grokcore.rest',
-        'grokcore.security[role] >= 1.1',
-        'grokcore.site > 1.4',
-        'grokcore.traverser',
-        'grokcore.view >= 2.6.1',
-        'grokcore.viewlet >= 1.3',
+        'grokcore.security >= 1.6dev',
+        'grokcore.site >= 1.6dev',
+        'grokcore.traverser >= 1.1dev',
+        'grokcore.view >= 2.7dev',
         'grokcore.view [security_publication]',
-        'grokcore.xmlrpc',
-        'grokcore.catalog',
         'martian >= 0.14',
         'pytz',
         'setuptools',
-        'simplejson',
         'z3c.autoinclude',
-        'zc.catalog',
         'ZODB3',
         'zope.annotation',
         'zope.app.appsetup',
@@ -75,19 +84,13 @@
         'zope.component',
         'zope.container',
         'zope.contentprovider',
-        'zope.errorview [browser]',
         'zope.event',
         'zope.exceptions',
-        'zope.i18n',
-        'zope.i18nmessageid',
         'zope.interface',
         'zope.intid',
         'zope.keyreference',
         'zope.lifecycleevent',
         'zope.location',
-        'zope.login',
-        'zope.password',
-        'zope.principalregistry',
         'zope.publisher',
         'zope.schema',
         'zope.security',
@@ -96,5 +99,8 @@
         'zope.traversing',
         ],
     tests_require=tests_require,
-    extras_require={'test': tests_require},
+    extras_require={
+        'classic': classic_require,
+        'test': tests_require,
+        },
 )

Modified: grok/branches/jw-conditional-features/src/grok/components.py
===================================================================
--- grok/branches/jw-conditional-features/src/grok/components.py	2012-05-01 17:39:31 UTC (rev 125534)
+++ grok/branches/jw-conditional-features/src/grok/components.py	2012-05-01 17:41:37 UTC (rev 125535)
@@ -40,7 +40,6 @@
 
 import grokcore.view
 import grokcore.site
-import grokcore.message
 import grokcore.layout
 from grok import interfaces, util
 
@@ -62,8 +61,17 @@
         return util.application_url(self.request, self.context, name, data)
 
     def flash(self, message, type='message'):
-        """Send a short message to the user."""
-        grokcore.message.send(message, type=type, name='session')
+        """Send a short message to the user.
+        """
+        try:
+            import grokcore.message
+        except ImportError:
+            raise NotImplementedError(
+                'The flash() method is not available. Please list '
+                'grokcore.message in the install_requires of your '
+                'application to use it.')
+        else:
+            grokcore.message.send(message, type=type, name='session')
 
 
 class View(ViewSupportMixin, grokcore.view.View):

Modified: grok/branches/jw-conditional-features/src/grok/configure.zcml
===================================================================
--- grok/branches/jw-conditional-features/src/grok/configure.zcml	2012-05-01 17:39:31 UTC (rev 125534)
+++ grok/branches/jw-conditional-features/src/grok/configure.zcml	2012-05-01 17:41:37 UTC (rev 125535)
@@ -1,8 +1,9 @@
-
 <configure
-    xmlns="http://namespaces.zope.org/zope"
-    xmlns:browser="http://namespaces.zope.org/browser"
-    xmlns:grok="http://namespaces.zope.org/grok">
+  xmlns="http://namespaces.zope.org/zope"
+  xmlns:browser="http://namespaces.zope.org/browser"
+  xmlns:grok="http://namespaces.zope.org/grok"
+  xmlns:zcml="http://namespaces.zope.org/zcml"
+  >
 
   <include package="zope.app.publication" file="meta.zcml" />
   <include package="zope.browserpage" file="meta.zcml" />
@@ -39,18 +40,36 @@
   <include package="zope.app.wsgi" />
 
   <include package="grokcore.annotation" />
-  <include package="grokcore.chameleon" />
-  <include package="grokcore.formlib" />
-  <include package="grokcore.json" />
-  <include package="grokcore.layout" />
   <include package="grokcore.site" />
   <include package="grokcore.traverser" />
   <include package="grokcore.view" />
   <include package="grokcore.view" file="publication_security.zcml" />
-  <include package="grokcore.viewlet" />
-  <include package="grokcore.rest" />
-  <include package="grokcore.xmlrpc" />
 
+  <configure zcml:condition="installed grokcore.catalog">
+    <include package="grokcore.catalog" />
+  </configure>
+  <configure zcml:condition="installed grokcore.chameleon">
+    <include package="grokcore.chameleon" />
+  </configure>
+  <configure zcml:condition="installed grokcore.layout">
+    <include package="grokcore.layout" />
+  </configure>
+  <configure zcml:condition="installed grokcore.formlib">
+    <include package="grokcore.formlib" />
+  </configure>
+  <configure zcml:condition="installed grokcore.viewlet">
+    <include package="grokcore.viewlet" />
+  </configure>
+  <configure zcml:condition="installed grokcore.json">
+    <include package="grokcore.json" />
+  </configure>
+  <configure zcml:condition="installed grokcore.rest">
+    <include package="grokcore.rest" />
+  </configure>
+  <configure zcml:condition="installed grokcore.xmlrpc">
+    <include package="grokcore.xmlrpc" />
+  </configure>
+
   <securityPolicy
       component="zope.securitypolicy.zopepolicy.ZopeSecurityPolicy" />
 

Modified: grok/branches/jw-conditional-features/src/grok/ftests/chameleon/chameleon_available.py
===================================================================
--- grok/branches/jw-conditional-features/src/grok/ftests/chameleon/chameleon_available.py	2012-05-01 17:39:31 UTC (rev 125534)
+++ grok/branches/jw-conditional-features/src/grok/ftests/chameleon/chameleon_available.py	2012-05-01 17:41:37 UTC (rev 125535)
@@ -1,7 +1,6 @@
 """
 Demonstrate the grokcore.chameleon template component has been registered.
 
-
   >>> from zope.app.wsgi.testlayer import Browser
   >>> getRootFolder()["mammoth"] = Mammoth()
   >>> browser = Browser()

Modified: grok/branches/jw-conditional-features/src/grok/meta.zcml
===================================================================
--- grok/branches/jw-conditional-features/src/grok/meta.zcml	2012-05-01 17:39:31 UTC (rev 125534)
+++ grok/branches/jw-conditional-features/src/grok/meta.zcml	2012-05-01 17:41:37 UTC (rev 125535)
@@ -1,14 +1,23 @@
 <configure
   xmlns="http://namespaces.zope.org/zope"
   xmlns:meta="http://namespaces.zope.org/meta"
-  xmlns:grok="http://namespaces.zope.org/grok">
+  xmlns:grok="http://namespaces.zope.org/grok"
+  xmlns:zcml="http://namespaces.zope.org/zcml"
+  >
   <include package="z3c.autoinclude" file="meta.zcml" />
   <include package="grokcore.component" file="meta.zcml" />
-  <include package="grokcore.formlib" file="meta.zcml" />
   <include package="grokcore.security" file="meta.zcml" />
   <include package="grokcore.view" file="meta.zcml" />
-  <include package="grokcore.viewlet" file="meta.zcml" />
   <include package="grokcore.annotation" file="meta.zcml" />
   <include package="grokcore.site" file="meta.zcml" />
-  <include package="grokcore.catalog" file="meta.zcml" />
+
+  <configure zcml:condition="installed grokcore.formlib">
+    <include package="grokcore.formlib" file="meta.zcml" />
+  </configure>
+  <configure zcml:condition="installed grokcore.viewlet">
+    <include package="grokcore.viewlet" file="meta.zcml" />
+  </configure>
+  <configure zcml:condition="installed grokcore.catalog">
+    <include package="grokcore.catalog" file="meta.zcml" />
+  </configure>
 </configure>



More information about the checkins mailing list