any_keycode_dialog: fix error processing
parent
be041808a2
commit
4f7cfb36e2
|
|
@ -27,14 +27,17 @@ class AnyKeycodeDialog(QDialog):
|
||||||
self.setLayout(self.layout)
|
self.setLayout(self.layout)
|
||||||
|
|
||||||
self.value = initial
|
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()
|
self.on_change()
|
||||||
|
|
||||||
def on_change(self):
|
def on_change(self):
|
||||||
text = self.txt_entry.text()
|
text = self.txt_entry.text()
|
||||||
value = err = None
|
value = err = None
|
||||||
try:
|
try:
|
||||||
value = Keycode.deserialize(text)
|
value = Keycode.deserialize(text, reraise=True)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
err = str(e)
|
err = str(e)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -93,7 +93,7 @@ class Keycode:
|
||||||
return code
|
return code
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def deserialize(cls, val):
|
def deserialize(cls, val, reraise=False):
|
||||||
from any_keycode import AnyKeycode
|
from any_keycode import AnyKeycode
|
||||||
|
|
||||||
if isinstance(val, int):
|
if isinstance(val, int):
|
||||||
|
|
@ -104,7 +104,8 @@ class Keycode:
|
||||||
try:
|
try:
|
||||||
return anykc.decode(val)
|
return anykc.decode(val)
|
||||||
except Exception:
|
except Exception:
|
||||||
pass
|
if reraise:
|
||||||
|
raise
|
||||||
return 0
|
return 0
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue