summaryrefslogtreecommitdiff
path: root/repoze/bfg/router.py
diff options
context:
space:
mode:
authorChris McDonough <chrism@agendaless.com>2009-07-03 00:10:10 +0000
committerChris McDonough <chrism@agendaless.com>2009-07-03 00:10:10 +0000
commit3ae9bdc483e9f78587c6ab9afef5185e4e7d83bb (patch)
treeb1703690f97546a595cd5f5ee8b3577161a29a93 /repoze/bfg/router.py
parent611d270f161c02b580605bcdd0b5141cea3e7109 (diff)
downloadpyramid-3ae9bdc483e9f78587c6ab9afef5185e4e7d83bb.tar.gz
pyramid-3ae9bdc483e9f78587c6ab9afef5185e4e7d83bb.tar.bz2
pyramid-3ae9bdc483e9f78587c6ab9afef5185e4e7d83bb.zip
- Fix ``configure_zcml`` filespec check on Windows. Previously if an
absolute filesystem path including a drive letter was passed as ``filename`` (or as ``configure_zcml`` in the options dict) to ``repoze.bfg.router.make_app``, it would be treated as a package:resource_name specification.
Diffstat (limited to 'repoze/bfg/router.py')
-rw-r--r--repoze/bfg/router.py11
1 files changed, 6 insertions, 5 deletions
diff --git a/repoze/bfg/router.py b/repoze/bfg/router.py
index 5addef933..ac8a1faaa 100644
--- a/repoze/bfg/router.py
+++ b/repoze/bfg/router.py
@@ -1,4 +1,5 @@
-from cgi import escape
+import cgi
+import os
import sys
from webob import Response
@@ -183,7 +184,7 @@ class Router(object):
def default_view(context, request, status):
try:
- msg = escape(request.environ['repoze.bfg.message'])
+ msg = cgi.escape(request.environ['repoze.bfg.message'])
except KeyError:
msg = ''
html = """
@@ -211,8 +212,8 @@ def default_notfound_view(context, request):
def make_app(root_factory, package=None, filename='configure.zcml',
authentication_policy=None, authorization_policy=None,
options=None, registry=None, debug_logger=None,
- manager=manager):
- # registry, debug_logger and manager *only* for unittests
+ manager=manager, os=os):
+ # registry, debug_logger, manager and os *only* for unittests
""" Return a Router object, representing a fully configured
``repoze.bfg`` WSGI application.
@@ -281,7 +282,7 @@ def make_app(root_factory, package=None, filename='configure.zcml',
settings = Settings(get_options(options))
filename = settings['configure_zcml']
- if ':' in filename:
+ if (':' in filename) and (not os.path.isabs(filename)):
package, filename = filename.split(':', 1)
__import__(package)
package = sys.modules[package]