annot-server/utils.py
author cavaliet
Fri, 10 Oct 2014 14:59:09 +0200
changeset 10 90918426079c
parent 0 e1d4d7a8255a
child 22 986ee928a866
permissions -rw-r--r--
better feedback after annotation sent


#
# See LICENCE for detail
# Copyright (c) 2014 IRI
#

import psycopg2.extras

from twisted.python import log

from txpostgres.txpostgres import Connection, ConnectionPool


PIANOROLL_CHANNEL = 'PIANOROLL'
ANNOTATION_CHANNEL = 'ANNOT'

class DictConnection(Connection):

    @staticmethod
    def connectionFactory(*args, **kwargs):
        kwargs['connection_factory'] = psycopg2.extras.DictConnection
        return psycopg2.connect(*args, **kwargs)


class DictConnectionPool(ConnectionPool):
    connectionFactory = DictConnection


def create_connection_pool(conn_string):

    created_connection_pool = DictConnectionPool(None, conn_string)

    d = created_connection_pool.start()
    d.addErrback(log.err)

    return created_connection_pool, d