diff options
| author | Chris McDonough <chrism@agendaless.com> | 2009-11-20 05:38:38 +0000 |
|---|---|---|
| committer | Chris McDonough <chrism@agendaless.com> | 2009-11-20 05:38:38 +0000 |
| commit | 15a3c6f561563eb53ff1cc3637fc6afa75da9e89 (patch) | |
| tree | 94134ee3c1099c30cae283d4cb7e1a8d68db45bf /repoze/bfg/router.py | |
| parent | 601e038028655549d23f8eda1c21cb0034724771 (diff) | |
| download | pyramid-15a3c6f561563eb53ff1cc3637fc6afa75da9e89.tar.gz pyramid-15a3c6f561563eb53ff1cc3637fc6afa75da9e89.tar.bz2 pyramid-15a3c6f561563eb53ff1cc3637fc6afa75da9e89.zip | |
Passable stab at supporting an imperative mode.
ZCML directives which accept paths now register absolute paths, while
imperative registrations now register resource specifications.
Diffstat (limited to 'repoze/bfg/router.py')
| -rw-r--r-- | repoze/bfg/router.py | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/repoze/bfg/router.py b/repoze/bfg/router.py index a46232330..16c273012 100644 --- a/repoze/bfg/router.py +++ b/repoze/bfg/router.py @@ -18,6 +18,7 @@ from repoze.bfg.events import NewRequest from repoze.bfg.events import NewResponse from repoze.bfg.exceptions import Forbidden from repoze.bfg.exceptions import NotFound +from repoze.bfg.resource import resolve_resource_spec from repoze.bfg.request import Request from repoze.bfg.threadlocal import manager from repoze.bfg.traversal import DefaultRootFactory @@ -193,8 +194,13 @@ def make_app(root_factory, package=None, filename='configure.zcml', from repoze.bfg.configuration import Configurator # pragma: no cover settings = settings or options config = Configurator() - config.declarative(root_factory, package=package, - filename=filename, settings=settings) + package_name = package and package.__name__ or None + package_name, filename = resolve_resource_spec(filename, package_name) + if package_name is not None: + spec = '%s:%s' % (package_name, filename) + else: + spec = filename + config.declarative(root_factory, spec, settings=settings) app = config.make_wsgi_app() return app |
