140 |
141 |
141 def startNewRequest(self, request): |
142 def startNewRequest(self, request): |
142 """Prepares core to handle a new request. |
143 """Prepares core to handle a new request. |
143 """ |
144 """ |
144 |
145 |
|
146 self.in_request = True |
145 self.per_request_value = {} |
147 self.per_request_value = {} |
146 self.setRequestValue('request', request) |
148 self.setRequestValue('request', request) |
147 |
149 |
148 def endRequest(self, request): |
150 def endRequest(self, request): |
149 """Performs cleanup after current request. |
151 """Performs cleanup after current request. |
150 """ |
152 """ |
151 |
153 |
152 old_request = self.getRequestValue('request') |
154 old_request = self.getRequestValue('request') |
153 self.per_request_value = {} |
155 self.per_request_value = {} |
|
156 self.in_request = False |
154 |
157 |
155 if id(old_request) != id(request): |
158 if id(old_request) != id(request): |
156 logging.error("ending request: \n'%s'\n != \n'%s'\n" % ( |
159 logging.error("ending request: \n'%s'\n != \n'%s'\n" % ( |
157 old_request, request)) |
160 old_request, request)) |
158 |
161 |
159 def getRequestValue(self, key, default=None): |
162 def getRequestValue(self, key, default=None): |
160 """Gets a per-request value. |
163 """Gets a per-request value. |
161 """ |
164 """ |
162 |
165 |
|
166 assert self.in_request |
163 return self.per_request_value.get(key, default) |
167 return self.per_request_value.get(key, default) |
164 |
168 |
165 def setRequestValue(self, key, value): |
169 def setRequestValue(self, key, value): |
166 """Sets a per-request value. |
170 """Sets a per-request value. |
167 """ |
171 """ |
168 |
172 |
|
173 assert self.in_request |
169 self.per_request_value[key] = value |
174 self.per_request_value[key] = value |
170 |
175 |
171 def getPatterns(self): |
176 def getPatterns(self): |
172 """Returns the Django patterns for this site. |
177 """Returns the Django patterns for this site. |
173 """ |
178 """ |