Esempio n. 1
0
# -*- coding: utf-8 -*-
from ircb.models import get_session, Network, Channel
from ircb.lib.constants.signals import (
    STORE_CHANNEL_CREATE, STORE_CHANNEL_CREATED, STORE_CHANNEL_GET,
    STORE_CHANNEL_GOT, STORE_CHANNEL_UPDATE, STORE_CHANNEL_UPDATED,
    STORE_CHANNEL_DELETE, STORE_CHANNEL_DELETED,
    STORE_CHANNEL_CREATE_OR_UPDATE, STORE_CHANNEL_CREATE_OR_UPDATE_ERROR)
from ircb.stores.base import BaseStore

session = get_session()


class ChannelStore(BaseStore):
    CREATE_SIGNAL = STORE_CHANNEL_CREATE
    CREATED_SIGNAL = STORE_CHANNEL_CREATED
    GET_SIGNAL = STORE_CHANNEL_GET
    GOT_SIGNAL = STORE_CHANNEL_GOT
    UPDATE_SIGNAL = STORE_CHANNEL_UPDATE
    UPDATED_SIGNAL = STORE_CHANNEL_UPDATED
    DELETE_SIGNAL = STORE_CHANNEL_DELETE
    DELETED_SIGNAL = STORE_CHANNEL_DELETED
    CREATE_OR_UPDATE = STORE_CHANNEL_CREATE_OR_UPDATE
    CREATE_OR_UPDATE_ERROR = STORE_CHANNEL_CREATE_OR_UPDATE_ERROR

    @classmethod
    def get(cls, filter=None, order_by=None, limit=None, sort=None):
        qs = session.query(Channel)
        if filter:
            for key, value in filter.items():
                qs = qs.filter(getattr(Channel, key) == value)
Esempio n. 2
0
from flask import Flask
from ircb.config import settings
from ircb.models import get_session, create_tables

app = Flask(__name__)


if __name__ == '__main__':
    create_tables()
    session = get_session(settings.DB_URI)
    app.run()
Esempio n. 3
0
# -*- coding: utf-8 -*-

from ircb.models import Client, Network, get_session
from ircb.lib.constants.signals import (STORE_CLIENT_CREATE,
                                        STORE_CLIENT_CREATED,
                                        STORE_CLIENT_DELETE,
                                        STORE_CLIENT_DELETED)
from ircb.stores.base import BaseStore

session = get_session()


class ClientStore(BaseStore):
    CREATE_SIGNAL = STORE_CLIENT_CREATE
    CREATED_SIGNAL = STORE_CLIENT_CREATED
    DELETE_SIGNAL = STORE_CLIENT_DELETE
    DELETED_SIGNAL = STORE_CLIENT_DELETED

    @classmethod
    def create(cls, socket, network_id, user_id):
        network = session.query(Network).filter(
            Network.id == network_id, Network.user_id == user_id).one()
        client = Client(
            socket=socket, network_id=network_id, user_id=user_id)
        session.add(client)
        session.commit()
        return client

    @classmethod
    def delete(cls, id):
        client = session.query(Client).get(id)
Esempio n. 4
0
from flask import Flask
from ircb.config import settings
from ircb.models import get_session, create_tables

app = Flask(__name__)

if __name__ == '__main__':
    create_tables()
    session = get_session(settings.DB_URI)
    app.run()