From 4f7cfb36e2cc3da75d5a4ed293cca7c0f2e8e967 Mon Sep 17 00:00:00 2001 From: Ilya Zhuravlev Date: Sun, 14 Mar 2021 18:00:13 -0400 Subject: [PATCH] any_keycode_dialog: fix error processing --- src/main/python/any_keycode_dialog.py | 7 +++++-- src/main/python/keycodes.py | 5 +++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/src/main/python/any_keycode_dialog.py b/src/main/python/any_keycode_dialog.py index a716e0a..998c003 100644 --- a/src/main/python/any_keycode_dialog.py +++ b/src/main/python/any_keycode_dialog.py @@ -27,14 +27,17 @@ class AnyKeycodeDialog(QDialog): self.setLayout(self.layout) self.value = initial - self.txt_entry.setText(Keycode.serialize(initial)) + ser = Keycode.serialize(initial) + if isinstance(ser, int): + ser = hex(ser) + self.txt_entry.setText(ser) self.on_change() def on_change(self): text = self.txt_entry.text() value = err = None try: - value = Keycode.deserialize(text) + value = Keycode.deserialize(text, reraise=True) except Exception as e: err = str(e) diff --git a/src/main/python/keycodes.py b/src/main/python/keycodes.py index b3407c1..d42a71c 100644 --- a/src/main/python/keycodes.py +++ b/src/main/python/keycodes.py @@ -93,7 +93,7 @@ class Keycode: return code @classmethod - def deserialize(cls, val): + def deserialize(cls, val, reraise=False): from any_keycode import AnyKeycode if isinstance(val, int): @@ -104,7 +104,8 @@ class Keycode: try: return anykc.decode(val) except Exception: - pass + if reraise: + raise return 0