diff options
| author | Chris McDonough <chrism@agendaless.com> | 2008-07-09 02:10:28 +0000 |
|---|---|---|
| committer | Chris McDonough <chrism@agendaless.com> | 2008-07-09 02:10:28 +0000 |
| commit | 6a85c5dbb57c1647f96ca7943c0127b3e1ad5d93 (patch) | |
| tree | 5c4546ecb57e0d7448bd95c655a2bb58c0e08371 | |
| parent | 627152500bc9621a9dde766ae429d6e717043df9 (diff) | |
| download | pyramid-6a85c5dbb57c1647f96ca7943c0127b3e1ad5d93.tar.gz pyramid-6a85c5dbb57c1647f96ca7943c0127b3e1ad5d93.tar.bz2 pyramid-6a85c5dbb57c1647f96ca7943c0127b3e1ad5d93.zip | |
Provide a policy for doing redirects.
| -rw-r--r-- | repoze/bfg/router.py | 10 | ||||
| -rw-r--r-- | repoze/bfg/sampleapp/run.py | 6 |
2 files changed, 11 insertions, 5 deletions
diff --git a/repoze/bfg/router.py b/repoze/bfg/router.py index efc7406b6..ad8549f4f 100644 --- a/repoze/bfg/router.py +++ b/repoze/bfg/router.py @@ -15,8 +15,9 @@ from repoze.bfg.interfaces import IRequest _marker = () class Router: - def __init__(self, root_policy): + def __init__(self, root_policy, default_redirects=True): self.root_policy = root_policy + self.default_redirects = True def __call__(self, environ, start_response): request = Request(environ) @@ -25,7 +26,7 @@ class Router: path = environ.get('PATH_INFO', '/') traverser = getMultiAdapter((root, request), IPublishTraverserFactory) context, name, subpath = traverser(path) - if (not name) and (not path.endswith('/')): + if self.default_redirects and (not name) and (not path.endswith('/')): # if this is the default view of the context, and the URL # doesn't end in a slash, redirect to the url + '/' (so we # don't have to play base tag games) @@ -40,9 +41,10 @@ class Router: app = getMultiAdapter((app, request), IWSGIApplicationFactory) return app(environ, start_response) -def make_app(root_policy, package=None, filename='configure.zcml'): +def make_app(root_policy, package=None, default_redirects=True, + filename='configure.zcml'): import zope.configuration.xmlconfig zope.configuration.xmlconfig.file(filename, package=package) - return Router(root_policy) + return Router(root_policy, default_redirects) diff --git a/repoze/bfg/sampleapp/run.py b/repoze/bfg/sampleapp/run.py index 2c7722892..5ee6a66e2 100644 --- a/repoze/bfg/sampleapp/run.py +++ b/repoze/bfg/sampleapp/run.py @@ -3,7 +3,7 @@ from repoze.bfg.sampleapp.models import Blog from repoze.bfg.sampleapp.models import BlogEntry from repoze.bfg.router import make_app -if __name__ == '__main__': +def main(): blog = Blog('Sample blog') blog['sample'] = BlogEntry('sample', 'Sample Blog Entry', '<p>This is a sample blog entry</p>', @@ -18,3 +18,7 @@ if __name__ == '__main__': ## ) from paste import httpserver httpserver.serve(app, host='0.0.0.0', port='5432') + +if __name__ == '__main__': + main() + |
