Ejemplo n.º 1
0
 def initialize(cls):
     signal_callback_map = dict(GET_SIGNAL=cls.do_get,
                                CREATE_SIGNAL=cls.do_create,
                                UPDATE_SIGNAL=cls.do_update,
                                DELETE_SIGNAL=cls.do_delete,
                                CREATE_OR_UPDATE=cls.do_create_or_update)
     for signal, callback in signal_callback_map.items():
         if getattr(cls, signal, None):
             dispatcher.register(callback, getattr(cls, signal))
Ejemplo n.º 2
0
 def initialize(cls):
     signal_callback_map = dict(
         GET_SIGNAL=cls.do_get,
         CREATE_SIGNAL=cls.do_create,
         UPDATE_SIGNAL=cls.do_update,
         DELETE_SIGNAL=cls.do_delete,
         CREATE_OR_UPDATE=cls.do_create_or_update
     )
     for signal, callback in signal_callback_map.items():
         if getattr(cls, signal, None):
             dispatcher.register(callback, getattr(cls, signal))
Ejemplo n.º 3
0
    def _delete(cls, data):
        task_id = cls.get_task_id(data)
        future = asyncio.Future()

        def callback(signal, data, taskid=None):
            if taskid == task_id:
                future.set_result(data)
        dispatcher.register(callback, signal=cls.DELETED_SIGNAL)
        dispatcher.send(cls.DELETE_SIGNAL, data, taskid=task_id)

        result = yield from future
        return result
Ejemplo n.º 4
0
    def _get(cls, data):
        task_id = cls.get_task_id(data)
        fut = asyncio.Future()

        def callback(signal, data, taskid=None):
            if taskid == task_id:
                fut.set_result(data)

        dispatcher.register(callback, signal=cls.GOT_SIGNAL)
        dispatcher.send(cls.GET_SIGNAL, data, taskid=task_id)

        result = yield from fut
        return fut.result()
Ejemplo n.º 5
0
        dispatcher.register(callback, signal=cls.GOT_SIGNAL)
        dispatcher.send(cls.GET_SIGNAL, data, taskid=task_id)

        result = yield from fut
        return fut.result()

    @classmethod
    def _create(cls, data, async=False):
        task_id = cls.get_task_id(data)
        fut = asyncio.Future()

        def callback(signal, data, taskid=None):
            if taskid == task_id:
                fut.set_result(data)

        dispatcher.register(callback, signal=cls.CREATED_SIGNAL)
        dispatcher.send(cls.CREATE_SIGNAL, data, taskid=task_id)

        result = yield from fut
        return fut.result()

    @classmethod
    def _update(cls, data):
        task_id = cls.get_task_id(data)
        future = asyncio.Future()

        def callback(signal, data, taskid=None):
            if taskid == task_id:
                future.set_result(data)
        dispatcher.register(callback, signal=cls.UPDATED_SIGNAL)
        dispatcher.send(cls.UPDATE_SIGNAL, data, taskid=task_id)