/usr/share/doc/python-werkzeug/examples/contrib/sessions.py is in python-werkzeug 0.8.1+dfsg-1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | #!/usr/bin/env python
# -*- coding: utf-8 -*-
from werkzeug.serving import run_simple
from werkzeug.contrib.sessions import SessionStore, SessionMiddleware
class MemorySessionStore(SessionStore):
def __init__(self, session_class=None):
SessionStore.__init__(self, session_class=None)
self.sessions = {}
def save(self, session):
self.sessions[session.sid] = session
def delete(self, session):
self.sessions.pop(session.id, None)
def get(self, sid):
if not self.is_valid_key(sid) or sid not in self.sessions:
return self.new()
return self.session_class(self.sessions[sid], sid, False)
def application(environ, start_response):
start_response('200 OK', [('Content-Type', 'text/html')])
session = environ['werkzeug.session']
yield '<title>Session Example</title><h1>Session Example</h1>'
if session.new:
session['visit_count'] = 0
yield '<p>This is a new session.</p>'
session['visit_count'] += 1
yield '<p>You visited this page %d times.</p>' % session['visit_count']
def make_app():
return SessionMiddleware(application, MemorySessionStore())
if __name__ == '__main__':
run_simple('localhost', 5000, make_app())
|