summaryrefslogtreecommitdiff
path: root/repoze/bfg/zcml.py
diff options
context:
space:
mode:
Diffstat (limited to 'repoze/bfg/zcml.py')
-rw-r--r--repoze/bfg/zcml.py18
1 files changed, 10 insertions, 8 deletions
diff --git a/repoze/bfg/zcml.py b/repoze/bfg/zcml.py
index 3e8bb0c50..d55dd1d1d 100644
--- a/repoze/bfg/zcml.py
+++ b/repoze/bfg/zcml.py
@@ -32,7 +32,7 @@ from repoze.bfg.exceptions import NotFound
from repoze.bfg.exceptions import Forbidden
from repoze.bfg.request import route_request_iface
from repoze.bfg.resource import resource_spec_from_abspath
-from repoze.bfg.static import StaticRootFactory
+from repoze.bfg.static import StaticURLInfo
from repoze.bfg.threadlocal import get_current_registry
###################### directives ##########################
@@ -558,17 +558,19 @@ def static(_context, name, path, cache_max_age=3600):
config = Configurator(reg, package=_context.package)
_context.action(
- discriminator = ('route', name, False, None, None, None, None, None),
+ discriminator=('static', name),
callable=config.add_static_view,
- args = (name, path, cache_max_age, _context.info),
+ args = (name, path),
+ kw = {'cache_max_age':cache_max_age, '_info':_context.info},
)
- _context.action(
- discriminator = (
- 'view', StaticRootFactory, '', None, IView, None, None, None,
- name, None, None, None, None, None,
+ if not '/' in name:
+ _context.action(
+ discriminator = (
+ 'view', StaticURLInfo, '', None, IView, None, None, None,
+ name, None, None, None, None, None,
+ )
)
- )
class IScanDirective(Interface):
package = GlobalObject(