def main(): logger.info('Initialize') data_sink = Observable() builder = Builder(config) builder.bind(data_sink) leds = Leds() while True: try: prices = [entry[1:] for entry in get_dummy_data() ] if config.dummy_data else fetch_prices() data_sink.update_observers(prices) leds.off() time.sleep(config.refresh_interval) except Exception as e: logger.error(str(e)) leds.on() time.sleep(10) except KeyboardInterrupt: logger.info('Exit') data_sink.close() exit()