summaryrefslogtreecommitdiff
path: root/repoze/bfg/zcml.py
diff options
context:
space:
mode:
authorChris McDonough <chrism@agendaless.com>2010-07-02 01:47:47 +0000
committerChris McDonough <chrism@agendaless.com>2010-07-02 01:47:47 +0000
commitb29429e470c093573f3735b0dbf09d42c29cfe4d (patch)
tree8dfa266de6bd0f10a80d9654fe3ddf3a7897c467 /repoze/bfg/zcml.py
parent78a659d76e5bbb7544212174f010c1f50f8bcbe6 (diff)
downloadpyramid-b29429e470c093573f3735b0dbf09d42c29cfe4d.tar.gz
pyramid-b29429e470c093573f3735b0dbf09d42c29cfe4d.tar.bz2
pyramid-b29429e470c093573f3735b0dbf09d42c29cfe4d.zip
- The ``repoze.bfg.url.route_url`` API has changed. If a keyword
``_app_url`` is present in the arguments passed to ``route_url``, this value will be used as the protocol/hostname/port/leading path prefix of the generated URL. For example, using an ``_app_url`` of ``http://example.com:8080/foo`` would cause the URL ``http://example.com:8080/foo/fleeb/flub`` to be returned from this function if the expansion of the route pattern associated with the ``route_name`` expanded to ``/fleeb/flub``. - It is now possible to use a URL as the ``name`` argument fed to ``repoze.bfg.configuration.Configurator.add_static_view``. When the name argument is a URL, the ``repoze.bfg.url.static_url`` API will generate join this URL (as a prefix) to a path including the static file name. This makes it more possible to put static media on a separate webserver for production, while keeping static media package-internal and served by the development webserver during development.
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(