def on_event(self, event_name, event_data): '''Called from webapp through proxy. Rehidrates the event''' event_class = self.registry.get(event_name) if not event_class: if attr_or_item(self.settings, 'TELEGRAPHY_SEND_UNREGISTERED'): event_class = BaseEvent.generic_event_factory(event_name) else: return False event_intance = event_class(serialized_data=event_data) self.publish_to_subscribers(event_intance) # TODO: Return something sane (defer?) return True
def from_settings(cls, settings): engine = attr_or_item(settings, 'TELEGRAPHY_RPC_ENGINE') rpc_params = attr_or_item(settings, 'TELEGRAPHY_RPC_PARAMS') engine_class = import_class(engine) instance = engine_class(**rpc_params) return instance
def event_prefix(self): """WAMP PubSub prefix for events""" return attr_or_item(self.settings, 'TELEGRAPHY_EVENT_PREFIX')
def rpc_uri(self): """WAMP URI for RPC calls""" return attr_or_item(self.settings, 'TELEGRAPHY_RPC_URI')
def from_settings(cls, settings): """Gateway process factory""" engine_path = attr_or_item(settings, 'TELEGRAPHY_ENGINE') engine_class = import_class(engine_path) instance = engine_class(settings) return instance