any_keycode_dialog: fix error processing

main
Ilya Zhuravlev 2021-03-14 18:00:13 -04:00
parent be041808a2
commit 4f7cfb36e2
2 changed files with 8 additions and 4 deletions

View File

@ -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)

View File

@ -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