summaryrefslogtreecommitdiff
path: root/repoze/bfg/zcml.py
diff options
context:
space:
mode:
authorChris McDonough <chrism@agendaless.com>2009-08-28 17:15:00 +0000
committerChris McDonough <chrism@agendaless.com>2009-08-28 17:15:00 +0000
commit50df953770409dc9c9558c77bd5c0bbb17ac54f6 (patch)
tree327045a06d056ae3c734fe4368bef30c1b449f83 /repoze/bfg/zcml.py
parent399d18a10e14a9748fbdf23763dbddd18bdda812 (diff)
downloadpyramid-50df953770409dc9c9558c77bd5c0bbb17ac54f6.tar.gz
pyramid-50df953770409dc9c9558c77bd5c0bbb17ac54f6.tar.bz2
pyramid-50df953770409dc9c9558c77bd5c0bbb17ac54f6.zip
Coverage.
Diffstat (limited to 'repoze/bfg/zcml.py')
-rw-r--r--repoze/bfg/zcml.py33
1 files changed, 13 insertions, 20 deletions
diff --git a/repoze/bfg/zcml.py b/repoze/bfg/zcml.py
index dbc145149..5a41babd1 100644
--- a/repoze/bfg/zcml.py
+++ b/repoze/bfg/zcml.py
@@ -1,5 +1,4 @@
import os
-import sys
import inspect
import types
@@ -39,6 +38,8 @@ from repoze.bfg.interfaces import ILogger
from repoze.bfg.interfaces import IRequestFactories
from repoze.bfg.interfaces import IPackageOverrides
+from repoze.bfg.path import package_name
+
from repoze.bfg.resource import PackageOverrides
from repoze.bfg.request import DEFAULT_REQUEST_FACTORIES
@@ -48,8 +49,6 @@ from repoze.bfg.security import ViewPermissionFactory
from repoze.bfg.secpols import registerBBBAuthn
-from repoze.bfg.static import find_package
-
from repoze.bfg.view import static as static_view
import martian
@@ -189,13 +188,13 @@ def _override(package, path, override_package, override_prefix,
PackageOverrides=PackageOverrides):
# PackageOverrides kw arg for tests
sm = getSiteManager()
- package_name = package.__name__
- override_package_name = override_package.__name__
- override = queryUtility(IPackageOverrides, name=package_name)
+ pkg_name = package.__name__
+ override_pkg_name = override_package.__name__
+ override = queryUtility(IPackageOverrides, name=pkg_name)
if override is None:
override = PackageOverrides(package)
- sm.registerUtility(override, IPackageOverrides, name=package_name)
- override.insert(path, override_package_name, override_prefix)
+ sm.registerUtility(override, IPackageOverrides, name=pkg_name)
+ override.insert(path, override_pkg_name, override_prefix)
def resource(context, to_override, override_with):
if to_override == override_with:
@@ -365,19 +364,13 @@ class IStaticDirective(Interface):
def static(_context, name, path, cache_max_age=3600):
""" Handle ``static`` ZCML directives
"""
+ if (not ':' in path) and (not os.path.isabs(path)):
+ # if it's not a package:relative/name and it's not an
+ # /absolute/path it's a relative/path; this means its relative
+ # to the package in which the ZCML file is defined.
+ path = '%s:%s' % (package_name(_context.resolve('.')), path)
- if ':' in path:
- package_name, path = path.split(':')
- else:
- package_path = _context.resolve('.').__path__[0]
- package_name = find_package(package_path)
- if package_name is not None:
- path = os.path.join(package_path, path)
- path = path[len(sys.modules[package_name].__path__[0])+1:]
-
- view = static_view(
- path, cache_max_age=cache_max_age, package_name=package_name)
-
+ view = static_view(path, cache_max_age=cache_max_age)
route(_context, name, "%s*subpath" % name, view=view)
class IViewDirective(Interface):