Handler mixins that automatically connect a PostgreSQL client session upon initialization.
sprockets.mixins.postgresql is available on the
Python Package Index
and can be installed via pip
or easy_install
:
pip install sprockets.mixins.postgresql
https://sprocketsmixinspostgresql.readthedocs.org
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()
Available at https://sprocketsmixinspostgresql.readthedocs.org/en/latest/history.html