tornaSession

Session extensions for Tornado


Keywords
torndsession, tornado, session, redis, memcached, memory, file, python
License
MIT
Install
pip install tornaSession==1.1.5.2

Documentation

Torndsession Session

Torndsession is a session extension for Tornado web framework. Torndsession support application memory, file, redis or memcached to save session data for request, and it's easy to extend for developer.

Quick links

Hello, Session

Here is a simple "Hello, Session" example web app for Tornado with Torndsession.:

import tornado.web
import tornado.httpserver
import tornado.ioloop
import torndsession


class Application(tornado.web.Application):
    def __init__(self):
        handlers = [
            (r"/", MainHandler),
        ]
        settings = dict(
            debug=True,
        )
        # sid_name, lifetime added in 1.1.5.0
        # sid_name: the name of session id in cookies.
        # lifetime: session default expires seconds.
        session_settings = dict(
            driver='memory',
            driver_settings={'host': self},
            force_persistence=True,
            sid_name='torndsessionID',
            session_lifetime=1800
        ),
        settings.update(session=session_settings)
        tornado.web.Application.__init__(self, handlers, **settings)


class MainHandler(torndsession.sessionhandler.SessionBaseHandler):
    def get(self):
        self.write("Hello, Session.<br/>")
        if 'data' in self.session:
            data = self.session['data']
        else:
            data = 0
        self.write('data=%s' % data)
        self.session["data"] = data + 1


def main():
    http_server = tornado.httpserver.HTTPServer(Application())
    http_server.listen(8000)
    tornado.ioloop.IOLoop.instance().start()


if __name__ == "__main__":
    main()

In this example, Request handler obtain memory session feature, it just inherit from SessionBaseHandler. more session example see torndsession demos.

Installation

Automatic installation:

pip install torndsession

Torndsession is listed in PyPI and can be installed with pip or easy_install. Note that this installation can not install demos applicatinos which be included in source code.

The another way is use git+ install torndsession from github.

pip install git+https://github.com/mitchellchu/torndsession

Manual installation:

In this way, you need download the source from PyPI.:

tar xvzf torndsession.tar.gz
cd torndsession
python setup.py build
sudo python setup.py install

The Torndsession source code is hosted on GitHub.

Updated

Torndsession 1.1.5:

  • fixed bug in 1.1.4
  • default session id value generator changed. see #ISSUE 12#.
  • added two custom key in settings.
    • sid_name: session's cookie name.
    • session_lifetime: default expired seconds for session.

Torndsession 1.1.4:

  • fixed bug

Torndsession 1.1.3 fixed some bug and supported python 3.x.

Requires

LICENSE

Torndsession is licensed under MIT.