From 6ee205018af2f5d13f2606f16d82564d5877b589 Mon Sep 17 00:00:00 2001 From: Jon Bergli Heier Date: Mon, 8 Aug 2011 19:15:49 +0200 Subject: Implemented session, send play notification. --- session.py | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 session.py (limited to 'session.py') diff --git a/session.py b/session.py new file mode 100644 index 0000000..9928992 --- /dev/null +++ b/session.py @@ -0,0 +1,19 @@ +import Cookie, hashlib, time + +class Session(object): + def __init__(self, func): + self.func = func + + def __call__(self, app, environ, start_response, path): + cookie = Cookie.SimpleCookie(environ['HTTP_COOKIE'] if 'HTTP_COOKIE' in environ else None) + sessionid = cookie.get('sessionid') + if not sessionid: + sessionid = hashlib.sha1(str(time.time) + environ['REMOTE_ADDR']).hexdigest() + cookie['sessionid'] = sessionid + start_response('302 Found', [ + ('Set-Cookie', cookie['sessionid'].OutputString()), + ('Location', environ['REQUEST_URI'])]) + return [] + environ['sessionid'] = sessionid.value + + return self.func(app, environ, start_response, path) -- cgit v1.2.3