36 lines
1.0 KiB
Python
36 lines
1.0 KiB
Python
|
|
from urlparse import parse_qs
|
|
|
|
from mandaye.template import serve_template
|
|
from mandaye.response import _302
|
|
|
|
class ArcopoleFilter:
|
|
|
|
@staticmethod
|
|
def associate(env, values, request, response):
|
|
qs = parse_qs(env['QUERY_STRING'])
|
|
if qs.has_key('type'):
|
|
values['type'] = qs['type'][0]
|
|
else:
|
|
values['type'] = None
|
|
associate = serve_template(values.get('template'), **values)
|
|
response.msg = associate
|
|
return response
|
|
|
|
@staticmethod
|
|
def is_action_logout(env, request, response):
|
|
request.msg = request.msg.read()
|
|
if "logout" in request.msg:
|
|
return True
|
|
return False
|
|
|
|
@staticmethod
|
|
def local_logout(env, values, request, response):
|
|
env['beaker.session'].delete()
|
|
req_cookies = request.cookies
|
|
for cookie in req_cookies.values():
|
|
cookie['expires'] = 'Thu, 01 Jan 1970 00:00:01 GMT'
|
|
cookie['path'] = '/studio'
|
|
return _302(values['next_url'], req_cookies)
|
|
|