diff options
| author | Chris McDonough <chrism@agendaless.com> | 2008-08-17 17:32:54 +0000 |
|---|---|---|
| committer | Chris McDonough <chrism@agendaless.com> | 2008-08-17 17:32:54 +0000 |
| commit | 0e21c22166f5160a2a64fad714d69d81897ef7d3 (patch) | |
| tree | 6a576d0edfafe0e204a1770c094f13ff8aa74487 /repoze/bfg/zcml.py | |
| parent | 157721dda97f5aea95f40e307d9d5dceb1014f83 (diff) | |
| download | pyramid-0e21c22166f5160a2a64fad714d69d81897ef7d3.tar.gz pyramid-0e21c22166f5160a2a64fad714d69d81897ef7d3.tar.bz2 pyramid-0e21c22166f5160a2a64fad714d69d81897ef7d3.zip | |
- Add ``<bfg:settings>`` directive. This directive currently allows
only one attribute: ``reload_templates``. If e.g.::
<bfg:settings reload_templates="true"/>
is in your application's ZCML, you will not need to restart the
appserver in order for ``z3c.pt`` or XSLT template changes to be
detected and displayed.
Diffstat (limited to 'repoze/bfg/zcml.py')
| -rw-r--r-- | repoze/bfg/zcml.py | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/repoze/bfg/zcml.py b/repoze/bfg/zcml.py index 343abc1d7..bb37c6581 100644 --- a/repoze/bfg/zcml.py +++ b/repoze/bfg/zcml.py @@ -2,17 +2,44 @@ from zope.component.zcml import handler from zope.component.interface import provideInterface from zope.configuration.exceptions import ConfigurationError from zope.configuration.fields import GlobalObject +from zope.configuration.fields import Bool from zope.interface import Interface +from zope.interface import implements from zope.schema import TextLine from repoze.bfg.interfaces import IRequest from repoze.bfg.interfaces import IViewPermission from repoze.bfg.interfaces import IView +from repoze.bfg.interfaces import ISettings from repoze.bfg.security import ViewPermissionFactory +def _handler(*arg, **kw): + import pdb; pdb.set_trace() + return handler(*arg, **kw) + +class Settings(object): + implements(ISettings) + def __init__(self, reload_templates=False): + self.reload_templates = reload_templates + +def settings(_context, reload_templates=False): + settings = Settings(reload_templates=reload_templates) + _context.action( + discriminator = ('settings', ISettings), + callable = handler, + args = ('registerUtility', settings, ISettings, '', _context.info), + ) + +class ISettingsDirective(Interface): + reload_templates = Bool( + title=u"Reload templates when they change", + description=(u"Specifies whether templates should be reloaded when" + "a change is made"), + default=False) + def view(_context, permission=None, for_=None, |
