diff --git a/led_control.py b/led_control.py index 2b0d164..a66b13e 100644 --- a/led_control.py +++ b/led_control.py @@ -170,10 +170,10 @@ async def main(loop): def handler(loop, context): e = context['exception'] - print(*traceback.format_exception(None, e, e.__traceback__), file=sys.stderr, flush=True) + if not isinstance(e, KeyboardInterrupt): + print(*traceback.format_exception(None, e, e.__traceback__), file=sys.stderr, flush=True) if not DEBUG: GPIO.cleanup() - loop.stop() # run @@ -183,4 +183,10 @@ loop.set_exception_handler(handler) loop.create_task(main(loop)) -loop.run_forever() +try: + loop.run_forever() +except KeyboardInterrupt: + pass +finally: + if not DEBUG: + GPIO.cleanup() \ No newline at end of file