diff --git a/lib/tfw/networking/server/tfw_server.py b/lib/tfw/networking/server/tfw_server.py index 252b79e..f7a55c0 100644 --- a/lib/tfw/networking/server/tfw_server.py +++ b/lib/tfw/networking/server/tfw_server.py @@ -60,11 +60,12 @@ class FSMManager: try: self.fsm.trigger(trigger, message=message) except AttributeError: log.debug('FSM failed to execute nonexistent trigger: "{}"'.format(trigger)) - def subscribe_predicate(self, trigger, predicate): - self.trigger_predicates[trigger].append(predicate) + def subscribe_predicate(self, trigger, *predicates): + self.trigger_predicates[trigger].extend(predicates) - def unsubscribe_predicate(self, trigger, predicate): - self.trigger_predicates[trigger].remove(predicate) + def unsubscribe_predicate(self, trigger, *predicates): + self.trigger_predicates[trigger] = [predicate for predicate in self.trigger_predicates[trigger] + not in predicates] class FSMUpdater: