def parse_message(identity, msg): """Given a message from an identity, either execute a function based on the message type, or pass to the plugin module to let route to a plugin/client. """ if not isinstance(msg, (list, tuple)): logging.warning("Message from %s not a list: %s", identity, msg) return if len(msg) is 0: logging.warning("Null list from %s", identity) return msg_address = msg[0] msg_type = msg[1] logging.debug("New message %s from %s", msg_type, identity) # System Message if msg_address == "s": if msg_type in _msg_table.keys(): _msg_table[msg_type](identity, msg) else: event.fire(identity, msg) else: plugin.forward_device_msg(identity, msg)
def testMultipleEventTriggers(self): """Test getting multiple replies for the same event""" e = event.add("testing", "testing") event.fire("testing", ["testing", "testing"]) event.fire("testing", ["testing", "testing"]) self.failIf(not e.successful(), "Event did not fire!")
def testSuccessfulEvent(self): """Test queuing an event, then having it fire""" e = event.add("testing", "testing") event.fire("testing", ["testing", "testing"]) self.failIf(not e.successful(), "Event did not fire!")