/sprockets.mixins.postgresql

A sprockets mixin that automatically connects to PostgreSQL

Primary LanguagePythonBSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

sprockets.mixins.postgresql

Handler mixins that automatically connect a PostgreSQL client session upon initialization.

Version Downloads Status Coverage License

Installation

sprockets.mixins.postgresql is available on the Python Package Index and can be installed via pip or easy_install:

pip install sprockets.mixins.postgresql

Documentation

https://sprocketsmixinspostgresql.readthedocs.org

Requirements

Example

The following example demonstrates using the HandlerMixin with a synchronous Tornado RequestHandler <tornado.web.RequestHandler> for a database named postgres:

import os

from sprockets.mixins import postgresql
from tornado import web

os.environ['POSTGRES_HOST'] = 'localhost'
os.environ['POSTGRES_USER'] = 'postgres'
os.environ['POSTGRES_PORT'] = 5432
os.environ['POSTGRES_DBNAME'] = 'postgres'

class PostgresRequestHandler(postgresql.HandlerMixin,
                             web.RequestHandler):

    DBNAME = 'postgres'

    def get(self, *args, **kwargs):
        result = self.foo_session.query('SELECT * FROM bar')
        self.finish({'data': result.items()})

The second example demonstrates using the AsyncHandlerMixin with an asynchronous Tornado RequestHandler for a database named foo:

import os

from sprockets.mixins import postgresql
from tornado import web

os.environ['FOO_HOST'] = 'localhost'
os.environ['FOO_USER'] = 'postgres'
os.environ['FOO_PORT'] = 5432
os.environ['FOO_DBNAME'] = 'foo'
os.environ['FOO_PASSWORD'] = 'bar'

class FooRequestHandler(postgresql.AsyncHandlerMixin,
                        web.RequestHandler):

    DBNAME = 'foo'

    @web.asynchronous
    def get(self, *args, **kwargs):
        result = yield self.foo_session.query('SELECT * FROM baz')
        self.finish({'data': result.items()})
        result.free()

Version History

Available at https://sprocketsmixinspostgresql.readthedocs.org/en/latest/history.html