def _ok_command(self, e): try: value = float(self._value) set_piped(self._redis, {PersistentGpsRedisKeys.KEY_ODO: value}) except ValueError: pass finally: self.destroy()
log("Initializing Redis Connection ...") R = get_redis(CONFIG) log("Initializing Control Thread ...") MPD_CONTROL = MpdControlThread(CONFIG, R, CONFIG_CONTROLLER_INTERVAL) MPD_CONTROL.start() try: log("MPD Data & Control Daemon is running ...") while True: if not MPD_DATA_THREAD.isAlive() or not MPD_CONTROL.isAlive(): raise ConnectionError() current_data = MPD_DATA_THREAD.get_current_data() if current_data: set_piped(R, current_data) sleep(CONFIG_DATAPOLLER_INTERVAL) except (KeyboardInterrupt, SystemExit): log("Shutdown requested!") except ConnectionError: EXIT_CODE = EXIT_CODES['DataSourceLost'] log("Connecting to MPD server lost, restarting daemon and trying again ..." ) except redis_exceptions.ConnectionError: EXIT_CODE = EXIT_CODES['DataDestinationLost'] log("Connection to Redis Server lost! Daemon is quitting and waiting for relaunch" ) except: EXIT_CODE = EXIT_CODES['UnhandledException'] print_unhandled_exception() finally:
distance_traveled = vincenty(old_xy, new_xy).meters if distance_traveled > 0: incr_piped( RP, { PersistentGpsRedisKeys.KEY_ODO: distance_traveled, PersistentGpsRedisKeys.KEY_TRIP_A: distance_traveled, PersistentGpsRedisKeys.KEY_TRIP_B: distance_traveled }) last_data = data else: last_data = data set_piped(R, data) sleep(CONFIG_DATAPOLLER_INTERVAL) except (KeyboardInterrupt, SystemExit): log("Shutdown requested!") except redis_exceptions.ConnectionError: EXIT_CODE = EXIT_CODES['DataDestinationLost'] log("Connection to Redis Server lost! Daemon is quitting and waiting for relaunch" ) except: EXIT_CODE = EXIT_CODES['UnhandledException'] print_unhandled_exception(APP_NAME) finally: if not GPS_POLLER.stop_safe() and EXIT_CODE == EXIT_CODES['OK']: EXIT_CODE = EXIT_CODES['BackgroundThreadTimedOut'] if not GPS_POLLER.stop_safe() and EXIT_CODE == EXIT_CODES['OK']: EXIT_CODE = EXIT_CODES['BackgroundThreadTimedOut']
r_data[NetworkInfoRedisKeys.KEY_WLAN0_IP] = ip if wifi_data: r_data[NetworkInfoRedisKeys.KEY_WLAN0_STRENGTH] = wifi_data['strength'] r_data[NetworkInfoRedisKeys.KEY_WLAN0_SSID] = wifi_data['ssid'] if CONFIG_IFACE_ALIAS_WLAN1: ip = get_iface_address(ips, CONFIG_IFACE_ALIAS_WLAN1) wifi_data = get_iface_signal_data(CONFIG_IFACE_ALIAS_WLAN1) r_data[NetworkInfoRedisKeys.KEY_WLAN1_IP] = ip if wifi_data: r_data[NetworkInfoRedisKeys.KEY_WLAN1_STRENGTH] = wifi_data['strength'] r_data[NetworkInfoRedisKeys.KEY_WLAN1_SSID] = wifi_data['ssid'] r_data[NetworkInfoRedisKeys.KEY_ALIVE] = datetime.now(pytz.utc) set_piped(R, r_data) sleep(CONFIG_DATAPOLLER_INTERVAL) except (KeyboardInterrupt, SystemExit): log("Shutdown requested!") except redis_exceptions.ConnectionError: EXIT_CODE = EXIT_CODES['DataDestinationLost'] log("Connection to Redis Server lost! Daemon is quitting and waiting for relaunch") except: EXIT_CODE = EXIT_CODES['UnhandledException'] print_unhandled_exception() finally: POLLER.stop_safe() end_print() exit(EXIT_CODE)
def _reset_trip_b_callback(self, e): set_piped(self._persist_redis, {PersistentGpsRedisKeys.KEY_TRIP_B: 0})