import re
from filter import HTMLFilter
class HeadInject(HTMLFilter):
def __init__(self, app, extra_head):
super(HeadInject, self).__init__(app)
self.extra_head = extra_head
def filter(self, script_name, path_info, environ,
status, headers, body):
match = re.search(r'', body, re.IGNORECASE)
if match:
start, rest = body[:match.start()], body[match.start():]
else:
start, rest = body, ''
body = (start
+ self.extra_head
+ rest)
return status, headers, body