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/view.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/view.py')
| -rw-r--r-- | repoze/bfg/view.py | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/repoze/bfg/view.py b/repoze/bfg/view.py index d94da9570..5096b291e 100644 --- a/repoze/bfg/view.py +++ b/repoze/bfg/view.py @@ -27,7 +27,7 @@ from repoze.bfg.interfaces import IRoutesMapper from repoze.bfg.interfaces import IView from repoze.bfg.path import caller_package -from repoze.bfg.resource import resource_spec +from repoze.bfg.resource import resolve_resource_spec from repoze.bfg.static import PackageURLParser # b/c imports @@ -170,19 +170,19 @@ class static(object): directive will not be able to override the resources it contains. """ - def __init__(self, root_dir, cache_max_age=3600, level=2, - package_name=None): + def __init__(self, root_dir, cache_max_age=3600, package_name=None): # package_name is for bw compat; it is preferred to pass in a # package-relative path as root_dir # (e.g. ``anotherpackage:foo/static``). - if os.path.isabs(root_dir): - self.app = StaticURLParser(root_dir, cache_max_age=cache_max_age) - return caller_package_name = caller_package().__name__ - spec = resource_spec(root_dir, package_name or caller_package_name) - package_name, root_dir = spec.split(':', 1) - self.app = PackageURLParser(package_name, root_dir, - cache_max_age=cache_max_age) + package_name = package_name or caller_package_name + package_name, root_dir = resolve_resource_spec(root_dir, package_name) + if package_name is None: + app = StaticURLParser(root_dir, cache_max_age=cache_max_age) + else: + app = PackageURLParser( + package_name, root_dir, cache_max_age=cache_max_age) + self.app = app def __call__(self, context, request): subpath = '/'.join(request.subpath) |
