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))
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))
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))
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))
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))
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))
def test_storm_creation_event_adapter(self): event = ILongPollEvent(FakeStormClass) self.assertThat(event, Provides(ILongPollEvent)) self.assertEqual("longpoll.event.faketable", event.event_key)
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)