From: Ralf Jung Date: Thu, 10 Oct 2013 13:54:14 +0000 (+0200) Subject: Ensure we call the superclass implementation where applicable X-Git-Url: https://git.ralfj.de/saartuer.git/commitdiff_plain/67cf8542a19d9871beca89c2cf865a0f33e51efd?ds=inline;hp=-c Ensure we call the superclass implementation where applicable --- 67cf8542a19d9871beca89c2cf865a0f33e51efd diff --git a/statemachine.odg b/statemachine.odg index 4af2320..a26f172 100644 Binary files a/statemachine.odg and b/statemachine.odg differ diff --git a/statemachine.py b/statemachine.py index 81b6b87..dc00ca5 100644 --- a/statemachine.py +++ b/statemachine.py @@ -74,6 +74,7 @@ class StateMachine(): class StateStart(State): def handle_pins_event(self): + super().handle_pins_event() thepins = self.pins() for pin in thepins: if pin is None: @@ -85,10 +86,12 @@ class StateMachine(): class StateZu(State): def handle_pins_event(self): + super().handle_pins_event() pins = self.pins() if not pins.door_locked: return StateAboutToOpen(self.state_machine) def handle_open_event(self,callback): + # intentionally not calling super() implementation return StateOpening(callback,self.state_machine) class StateOpening(State): @@ -104,14 +107,17 @@ class StateMachine(): if cb is not None: cb(s) def handle_pins_event(self): + super().handle_pins_event() pins = self.pins() if not pins.door_locked: self.notify(True) return StateAboutToOpen(self.state_machine) def handle_open_event(self,callback): + # intentionally not calling super() implementation # FIXME: 202 notification also here if possible self.callbacks.append(callback) def handle_wakeup_event(self): + super().handle_wakeup_event() over = time.time() - self.time_entered nexttry = (self.tries+1) * OPEN_REPEAT_TIMEOUT if over > nexttry: @@ -125,6 +131,7 @@ class StateMachine(): class AbstractStateWhereOpeningIsRedundant(State): def handle_open_event(self, callback): + # intentionally not calling super() implementation # FIXME contradicting original plan where open would be ignored in StateAboutToOpen? callback("299 redundant: Space seems to be already open. Still processing your request tough.") logger.warning("Received OPEN command in StateAboutToOpen. This should not be necessary.") @@ -132,12 +139,14 @@ class StateMachine(): class StateAboutToOpen(AbstractStateWhereOpeningIsRedundant): def handle_pins_event(self): + super().handle_pins_event() pins = self.pins() if pins.door_locked: return StateZu(self.state_machine) elif pins.space_active: return StateAuf(self.state_machine) def handle_wakeup_event(self): + super().handle_wakeup_event() now = time.time() lasttime = self.last_wakeup - self.time_entered thistime = now - self.time_entered @@ -151,6 +160,7 @@ class StateMachine(): super().__init__(sm) self.last_buzzed = None def handle_pins_event(self): + super().handle_pins_event() pins = self.pins() if pins.bell_ringing: now = time.time()