[Repoze-checkins] r1255 - in repoze.bfg/trunk/repoze/bfg: . sampleapp
Chris McDonough
chrism at agendaless.com
Tue Jul 8 22:10:29 EDT 2008
Author: Chris McDonough <chrism at agendaless.com>
Date: Tue Jul 8 22:10:28 2008
New Revision: 1255
Log:
Provide a policy for doing redirects.
Modified:
repoze.bfg/trunk/repoze/bfg/router.py
repoze.bfg/trunk/repoze/bfg/sampleapp/run.py
Modified: repoze.bfg/trunk/repoze/bfg/router.py
==============================================================================
--- repoze.bfg/trunk/repoze/bfg/router.py (original)
+++ repoze.bfg/trunk/repoze/bfg/router.py Tue Jul 8 22:10:28 2008
@@ -15,8 +15,9 @@
_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 @@
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 @@
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)
Modified: repoze.bfg/trunk/repoze/bfg/sampleapp/run.py
==============================================================================
--- repoze.bfg/trunk/repoze/bfg/sampleapp/run.py (original)
+++ repoze.bfg/trunk/repoze/bfg/sampleapp/run.py Tue Jul 8 22:10:28 2008
@@ -3,7 +3,7 @@
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 @@
## )
from paste import httpserver
httpserver.serve(app, host='0.0.0.0', port='5432')
+
+if __name__ == '__main__':
+ main()
+
More information about the Repoze-checkins
mailing list