removed unused filter dir

git-svn-id: svn+ssh://labs.libre-entreprise.org/svnroot/larpe@462 3ed937ae-f919-0410-9a43-8e6f19e4ba6e
This commit is contained in:
dlaniel 2009-03-09 15:02:26 +00:00
parent 4dc72b40aa
commit a18aaa216a
1 changed files with 0 additions and 164 deletions

View File

@ -1,164 +0,0 @@
import os
import re
from mod_python import apache
#import larpe.hosts
app_dir = '/var/lib/larpe'
def outputfilter(filter):
# Only filter html code
if filter.req.content_type is not None:
is_html = re.search('text/html', filter.req.content_type)
if filter.req.content_type is not None and not is_html:
filter.pass_on()
else:
if not hasattr(filter.req, 'temp_doc'): # the start
filter.req.temp_doc = [] # create new attribute to hold document
# If content-length ended up wrong, Gecko browsers truncated data, so
if 'Content-Length' in filter.req.headers_out:
del filter.req.headers_out['Content-Length']
# filter.write(filter.req.headers_in['Cookie'])
# delete_cookies(filter)
#filter.req.headers_out['Set-Cookie'] = 'dc_admin="deleted"; max-age=0; expires=Thu, 01-Jan-1970 00:00:00 GMT; path=/'
temp_doc = filter.req.temp_doc
s = filter.read()
while s: # could get '' at any point, but only get None at end
temp_doc.append(s)
s = filter.read()
if s is None: # the end
page = ''.join(temp_doc)
page = filter_dispatch(filter, page)
filter.write(page)
filter.close()
def filter_dispatch(filter, page):
# host = get_host_from_url(filter)
# if host is None:
# apache.log_error('Host not found')
# return page
try:
# function_name = 'filter_' + host.label.lowercase()
host_name = filter.req.hostname.split('.')[-3]
function_name = 'filter_' + host_name
return eval(function_name + '(filter, page)')
except:
return page
# return filter_default(filter, page)
def filter_default(filter, page):
# host = get_host_from_url(filter)
# if host is None:
# apache.log_error('Host not found')
# return page
# if host.auth_url is not None or host.auth_form is None:
# return page
form = find_auth_form(page)
if form is not None:
try:
host_name = filter.req.hostname.split('.')[-3]
return page.replace(form, """
<form method="post" action="/liberty/%s/login">
<input type="submit" value="Connexion" />
</form>""" % host_name)
except:
pass
return page
def find_auth_form(page):
regexp = re.compile("""<form.*?</form>""", re.DOTALL | re.IGNORECASE)
found_forms = regexp.findall(page)
for found_form in found_forms:
regexp = re.compile("""<input[^>]*?type="password"[^>]*?>""", re.DOTALL | re.IGNORECASE)
if regexp.search(found_form) is not None:
return found_form
return None
#def get_host_from_url(filter):
# try:
# return list(Host.select(lambda x: x.reversed_hostname == filter.req.hostname \
# and x.reversed_directory == get_proxied_site_name(filter)))[0]
# except:
# return None
def filter_linuxfr(filter, page):
str_to_replace = re.compile(str('<form method="post" action="/login.html" id="formulaire">.*?</form>'), re.DOTALL)
return str_to_replace.sub(str(r"""<form method="post" action="/liberty/linuxfr/login" id="formulaire">
<div style="text-align: center; font-size: 13px;" class="loginbox">
<input type="submit" value="Connexion" />
<br />
<a href="/user_new.html">Cr&eacute;er un compte</a>
</div>
</form>"""
), page)
def filter_dotclear(filter, page):
if filter.req.uri == '/dot/ecrire/redac_list.php':
str_to_replace = re.compile(str('(\[[^\?]+\?id=)([^"]+)(">[^\]]*)\]'), re.DOTALL)
return str_to_replace.sub(str(r'\1\2\3 - <a href="/liberty/dot/admin_token?id=\2">token</a> ]'), page)
if filter.req.uri == '/dot/ecrire/redacteur.php':
str_to_replace = re.compile(str('(<form action=")redacteur.php'))
page = str_to_replace.sub(str(r'\1/liberty/dot/admin_new_user'), page)
str_to_replace = re.compile(str('<p class="field"><label class="float" for="user_pwd">.*?</p>'), re.DOTALL)
return str_to_replace.sub(r'', page)
return page
def filter_concerto(filter, page):
str_to_replace = re.compile(str('<form action="login.do" method="post">.*?</form>'), re.DOTALL)
return str_to_replace.sub(str(r"""<form method="post" action="/liberty/concerto/login" id="formulaire">
<div style="text-align: center; font-size: 13px;" class="loginbox">
<input type="submit" value="Connexion" />
</div>
</form>"""
), page)
def get_abs_path(s):
if not s:
return s
if s[0] == '/':
return s
return os.path.join(app_dir, s)
def get_proxied_site_path(filter):
proxy_domain_name = filter.req.hostname
proxied_site_dir = get_proxied_site_name(filter)
return get_abs_path(os.path.join('sp', proxy_domain_name, proxied_site_dir))
def get_proxied_site_name(filter):
uri_tokens = filter.req.uri.split('/')
if uri_tokens[1] != 'liberty':
return uri_tokens[1]
return uri_tokens[2]
def delete_cookies(filter):
success = False
cookies_file_name = get_abs_path(os.path.join(get_proxied_site_path(filter), 'cookies_to_delete'))
cookies_file = open(cookies_file_name, 'r')
for cookie in cookies_file.read().split():
if filter.req.headers_in.has_key('Cookie'):
cookies_header = filter.req.headers_in['Cookie']
# filter.req.temp_doc.append(filter.req.headers_in['Cookie'])
#filter.req.temp_doc.append(cookie[len(cookie) -1:])
cookies_match = re.findall(cookie[:len(cookie) -1], cookies_header)
if len(cookies_match) > 0:
filter.req.temp_doc.append('User-Agent')
# filter.req.temp_doc.append('%s="deleted"; max-age=0; expires=Thu, 01-Jan-1970 00:00:00 GMT; path=/' % cookie.split('=')[0])
filter.req.headers_out['Set-Cookie'] = '%s="deleted"; max-age=0; expires=Thu, 01-Jan-1970 00:00:00 GMT; path=/' % cookie.split('=')[0]
# cookies_file.close()
# cookies_file = open(cookies_file_name, 'w')
break
# else:
# filter.req.temp_doc.append('dommage')
cookies_file.close()
# if success:
# cookies_file = open(cookies_file_name, 'w')
# cookies_file.close()