Skip to content

Commit

Permalink
work on optional grokcore.* features
Browse files Browse the repository at this point in the history
  • Loading branch information
janwijbrand committed May 1, 2012
1 parent b0de7fe commit f080be8
Show file tree
Hide file tree
Showing 5 changed files with 86 additions and 45 deletions.
58 changes: 32 additions & 26 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -13,11 +13,32 @@ def read(*rnames):
'********\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',
Expand All @@ -41,30 +62,18 @@ def read(*rnames):
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',
Expand All @@ -75,19 +84,13 @@ def read(*rnames):
'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',
Expand All @@ -96,5 +99,8 @@ def read(*rnames):
'zope.traversing',
],
tests_require=tests_require,
extras_require={'test': tests_require},
extras_require={
'classic': classic_require,
'test': tests_require,
},
)
14 changes: 11 additions & 3 deletions src/grok/components.py
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,6 @@

import grokcore.view
import grokcore.site
import grokcore.message
import grokcore.layout
from grok import interfaces, util

Expand All @@ -62,8 +61,17 @@ def application_url(self, name=None, data=None):
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):
Expand Down
41 changes: 30 additions & 11 deletions src/grok/configure.zcml
Original file line number Diff line number Diff line change
@@ -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" />
Expand Down Expand Up @@ -39,17 +40,35 @@
<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" />
Expand Down
1 change: 0 additions & 1 deletion src/grok/ftests/chameleon/chameleon_available.py
Original file line number Diff line number Diff line change
@@ -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()
Expand Down
17 changes: 13 additions & 4 deletions src/grok/meta.zcml
Original file line number Diff line number Diff line change
@@ -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>

0 comments on commit f080be8

Please sign in to comment.