summaryrefslogtreecommitdiff
path: root/repoze/bfg/resource.py
diff options
context:
space:
mode:
authorChris McDonough <chrism@agendaless.com>2009-11-20 05:38:38 +0000
committerChris McDonough <chrism@agendaless.com>2009-11-20 05:38:38 +0000
commit15a3c6f561563eb53ff1cc3637fc6afa75da9e89 (patch)
tree94134ee3c1099c30cae283d4cb7e1a8d68db45bf /repoze/bfg/resource.py
parent601e038028655549d23f8eda1c21cb0034724771 (diff)
downloadpyramid-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/resource.py')
-rw-r--r--repoze/bfg/resource.py13
1 files changed, 8 insertions, 5 deletions
diff --git a/repoze/bfg/resource.py b/repoze/bfg/resource.py
index c597ad712..ca6cee543 100644
--- a/repoze/bfg/resource.py
+++ b/repoze/bfg/resource.py
@@ -1,4 +1,5 @@
import os
+import sys
import pkg_resources
from zope.component import queryUtility
@@ -169,10 +170,12 @@ class FileOverride:
if resource_name == self.path:
return self.package, self.prefix
-def resource_spec(spec, package_name):
+def resolve_resource_spec(spec, package_name='__main__'):
if os.path.isabs(spec):
- return spec
+ return None, spec
+ filename = spec
if ':' in spec:
- return spec
- return '%s:%s' % (package_name, spec)
-
+ package_name, filename = spec.split(':', 1)
+ elif package_name is None:
+ package_name, filename = None, spec
+ return package_name, filename