[z3-checkins] r33989 - z3/deliverance/branches/packaged/deliverance
ltucker at codespeak.net
ltucker at codespeak.net
Wed Nov 1 00:17:30 CET 2006
Author: ltucker
Date: Wed Nov 1 00:17:28 2006
New Revision: 33989
Modified:
z3/deliverance/branches/packaged/deliverance/test_wsgi.py
z3/deliverance/branches/packaged/deliverance/wsgifilter.py
Log:
preliminary heuristic to ignore ajax responses in the wsgifilter
Modified: z3/deliverance/branches/packaged/deliverance/test_wsgi.py
==============================================================================
--- z3/deliverance/branches/packaged/deliverance/test_wsgi.py (original)
+++ z3/deliverance/branches/packaged/deliverance/test_wsgi.py Wed Nov 1 00:17:28 2006
@@ -114,7 +114,7 @@
RENDERER_TYPES = ['py', 'xslt']
-TEST_FUNCS = [ do_basic, do_text, do_tasktracker, do_xinclude, do_nycsr, do_necoro, do_guidesearch ]
+TEST_FUNCS = [ do_basic, do_text, do_tasktracker, do_xinclude, do_nycsr, do_necoro, do_guidesearch, do_ajax ]
def test_all():
for renderer_type in RENDERER_TYPES:
for test_func in TEST_FUNCS:
Modified: z3/deliverance/branches/packaged/deliverance/wsgifilter.py
==============================================================================
--- z3/deliverance/branches/packaged/deliverance/wsgifilter.py (original)
+++ z3/deliverance/branches/packaged/deliverance/wsgifilter.py Wed Nov 1 00:17:28 2006
@@ -133,12 +133,14 @@
self.should_intercept,
start_response)
-
+ # ignore non-html responses
if status is None:
- # should_intercept returned False
return body
- body = self.filter_body(environ, body)
+ # don't theme html snippets
+ if self.hasHTMLTag(body):
+ body = self.filter_body(environ, body)
+
replace_header(headers, 'content-length', str(len(body)))
replace_header(headers, 'content-type', 'text/html; charset=utf-8')
start_response(status, headers)
@@ -212,6 +214,16 @@
loc))
return body
+ HTML_DOC_PAT = re.compile(r"^.*<\s*html(\s*|>).*$",re.I|re.M)
+ def hasHTMLTag(self, body):
+ """
+ a quick and dirty check to see if some text contains
+ anything that looks like an html tag. This could
+ certainly be improved if needed or there are
+ ambiguous tags
+ """
+ return self.HTML_DOC_PAT.search(body) is not None
+
def make_filter(app, global_conf,
theme_uri=None, rule_uri=None):
assert theme_uri is not None, (
More information about the z3-checkins
mailing list