Add optional argument to endRequest
authorSverre Rabbelier <srabbelier@gmail.com>
Sat, 12 Sep 2009 21:26:27 +0200
changeset 2909 81eaf0a9101f
parent 2908 391d57b91615
child 2910 60d56cf01b54
Add optional argument to endRequest The optional argument allows endRequest to be called more than once, as long as any invocation after the first has optional=True.
app/soc/modules/core.py
--- a/app/soc/modules/core.py	Sat Sep 12 21:25:56 2009 +0200
+++ b/app/soc/modules/core.py	Sat Sep 12 21:26:27 2009 +0200
@@ -150,13 +150,18 @@
     self.per_request_value = {}
     self.setRequestValue('request', request)
 
-  def endRequest(self, request):
+  def endRequest(self, request, optional):
     """Performs cleanup after current request.
 
     Args:
       request: a Django HttpRequest object
+      optional: whether to noop when not in a request
     """
 
+    # already cleaned up, as expected
+    if optional and not self.in_request:
+      return
+
     old_request = self.getRequestValue('request')
     self.per_request_value = {}
     self.in_request = False