[z3-checkins] r55524 - z3/deliverance/sandboxes/paul/environ
paul at codespeak.net
paul at codespeak.net
Tue Jun 3 17:35:37 CEST 2008
Author: paul
Date: Tue Jun 3 17:35:34 2008
New Revision: 55524
Modified:
z3/deliverance/sandboxes/paul/environ/README.txt
z3/deliverance/sandboxes/paul/environ/serve.ini
z3/deliverance/sandboxes/paul/environ/switcher.py
Log:
Better implementation, mimics having Deliverance as filter middleware
Modified: z3/deliverance/sandboxes/paul/environ/README.txt
==============================================================================
--- z3/deliverance/sandboxes/paul/environ/README.txt (original)
+++ z3/deliverance/sandboxes/paul/environ/README.txt Tue Jun 3 17:35:34 2008
@@ -25,13 +25,16 @@
PYTHONPATH=. paster serve serve.ini
Creating filter right
+ Creating filter middle
Creating filter left
- Starting server in PID 3410.
+ Starting server in PID 3654.
serving on http://127.0.0.1:8080
Here is what you get when you go to a URL such as
``http://localhost:8080/`` (any URL on 8080 will do):
- In __call__ for filter left
- In __call__ for filter right
- In echo
+ Entering left, FI keys are []
+ Entering middle, FI keys are ['FI_left']
+ Entering right, FI keys are ['FI_middle', 'FI_left']
+ Entering echo, FI keys are ['FI_right', 'FI_middle', 'FI_left']
+
Modified: z3/deliverance/sandboxes/paul/environ/serve.ini
==============================================================================
--- z3/deliverance/sandboxes/paul/environ/serve.ini (original)
+++ z3/deliverance/sandboxes/paul/environ/serve.ini Tue Jun 3 17:35:34 2008
@@ -5,6 +5,7 @@
pipeline = egg:Paste#evalerror
egg:Paste#httpexceptions
left
+ middle
right
echo
@@ -12,7 +13,13 @@
paste.app_factory = switcher:make_echo
[filter:left]
-paste.filter_app_factory = switcher:make_left
+paste.filter_app_factory = switcher:make_filter
+position = left
+
+[filter:middle]
+paste.filter_app_factory = switcher:make_filter
+position = middle
[filter:right]
-paste.filter_app_factory = switcher:make_right
+paste.filter_app_factory = switcher:make_filter
+position = right
Modified: z3/deliverance/sandboxes/paul/environ/switcher.py
==============================================================================
--- z3/deliverance/sandboxes/paul/environ/switcher.py (original)
+++ z3/deliverance/sandboxes/paul/environ/switcher.py Tue Jun 3 17:35:34 2008
@@ -1,6 +1,11 @@
from wsgifilter import Filter
-class Switcher(object):
+def print_fi(environ, spot):
+ ek = environ.keys()
+ preface = "Entering %s, FI keys are" % spot
+ print preface, [k for k in ek if k.startswith("FI")]
+
+class Switcher(Filter):
def __init__(self, app, filtername):
self.app = app
@@ -8,24 +13,20 @@
print "Creating filter", filtername
def __call__(self, environ, start_response):
- environ[self.filtername] = self.filtername
- print "In __call__ for filter", self.filtername
+ print_fi(environ, self.filtername)
+ environ["FI_" + self.filtername] = self.filtername
response_iter = self.app(environ, start_response)
return response_iter
-def make_left(app, global_conf, **kw):
- """Choose which Deliverance theme should be used"""
-
- return Switcher(app, "left")
-
-def make_right(app, global_conf, **kw):
+def make_filter(app, global_conf, **kw):
"""Choose which Deliverance theme should be used"""
- return Switcher(app, "right")
+ place = kw.get("position")
+ return Switcher(app, place)
def echo(environ, start_response):
start_response("200 OK", [('Content-type', 'text/html')])
- print "In echo"
+ print_fi(environ, "echo")
return ["<h2>Hello World</h2>"]
More information about the z3-checkins
mailing list