From 28e5f7f1f0ba0ac7059705c13a8c2b946ba5b9d7 Mon Sep 17 00:00:00 2001 From: Senad Uka Date: Sun, 6 Mar 2016 14:46:42 +0100 Subject: [PATCH] safe key getting from the response --- controller/state/changer.py | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/controller/state/changer.py b/controller/state/changer.py index 956b1f9..550f41e 100644 --- a/controller/state/changer.py +++ b/controller/state/changer.py @@ -24,14 +24,20 @@ class Changer(object): 'closed': self.close_in_valve } + def safe_remote_state(key): + if key in ['out_valve', 'in_valve']: + return self.remote_state.get(key, 'closed') + else + return self.remote_state.get(key,''); + def process_change(self): self.validate_states() - out_valve_change = self.out_valve_states.get(self.remote_state['out_valve'], None ) + out_valve_change = self.out_valve_states.get(self.safe_remote_state('out_valve'), None ) if out_valve_change is not None: out_valve_change() - in_valve_change = self.in_valve_states.get(self.remote_state['in_valve'], None ) + in_valve_change = self.in_valve_states.get(self.safe_remote_state('in_valve'), None ) if in_valve_change is not None: in_valve_change()