예제 #1
0
def object_modified(model_instance, object_event):
    """Subscription handler for `Storm` modification events."""
    edited_fields = object_event.edited_fields
    if edited_fields is not None and len(edited_fields) != 0:
        edited_field_names = sorted(
            (field.__name__ if IAttribute.providedBy(field) else field)
            for field in edited_fields)
        event = ILongPollEvent(model_instance)
        event.emit(
            what="modified", edited_fields=edited_field_names,
            id=get_primary_key(model_instance))
예제 #2
0
def object_modified(model_instance, object_event):
    """Subscription handler for `Storm` modification events."""
    edited_fields = object_event.edited_fields
    if edited_fields is not None and len(edited_fields) != 0:
        edited_field_names = sorted(
            (field.__name__ if IAttribute.providedBy(field) else field)
            for field in edited_fields)
        event = ILongPollEvent(model_instance)
        event.emit(what="modified",
                   edited_fields=edited_field_names,
                   id=get_primary_key(model_instance))
예제 #3
0
    def test_long_poll_event(self):
        # long_poll_event is a class decorator that declares a class as an
        # ILongPollEvent.
        @long_poll_event(IEventSourceInterface)
        class Something:
            """An example event source."""

        self.assertTrue(ILongPollEvent.implementedBy(Something))
        self.assertEqual((IEventSourceInterface, ), adaptedBy(Something))
예제 #4
0
 def test_long_poll_event(self):
     # long_poll_event is a class decorator that declares a class as an
     # ILongPollEvent.
     @long_poll_event(IEventSourceInterface)
     class Something:
         """An example event source."""
     self.assertTrue(ILongPollEvent.implementedBy(Something))
     self.assertEqual(
         (IEventSourceInterface,),
         adaptedBy(Something))
예제 #5
0
def object_deleted(model_instance, object_event):
    """Subscription handler for `Storm` deletion events."""
    event = ILongPollEvent(model_instance)
    event.emit(what="deleted", id=get_primary_key(model_instance))
예제 #6
0
def object_created(model_instance, object_event):
    """Subscription handler for `Storm` creation events."""
    model_class = removeSecurityProxy(model_instance).__class__
    event = ILongPollEvent(model_class)
    event.emit(what="created", id=get_primary_key(model_instance))
예제 #7
0
 def test_storm_creation_event_adapter(self):
     event = ILongPollEvent(FakeStormClass)
     self.assertThat(event, Provides(ILongPollEvent))
     self.assertEqual("longpoll.event.faketable", event.event_key)
예제 #8
0
 def test_storm_event_adapter(self):
     storm_object = FakeStormClass()
     storm_object.id = 1234
     event = ILongPollEvent(storm_object)
     self.assertThat(event, Provides(ILongPollEvent))
     self.assertEqual("longpoll.event.faketable.1234", event.event_key)
예제 #9
0
def object_deleted(model_instance, object_event):
    """Subscription handler for `Storm` deletion events."""
    event = ILongPollEvent(model_instance)
    event.emit(what="deleted", id=get_primary_key(model_instance))
예제 #10
0
def object_created(model_instance, object_event):
    """Subscription handler for `Storm` creation events."""
    model_class = removeSecurityProxy(model_instance).__class__
    event = ILongPollEvent(model_class)
    event.emit(what="created", id=get_primary_key(model_instance))