aboutsummaryrefslogtreecommitdiffstats
path: root/klippy/msgproto.py
diff options
context:
space:
mode:
authorKevin O'Connor <kevin@koconnor.net>2018-01-29 10:10:27 -0500
committerKevin O'Connor <kevin@koconnor.net>2018-01-29 10:10:27 -0500
commita67306c76b0c0c2083f9e39e1186a7c3e0550744 (patch)
tree87e43e37f2de79e92236a1ed7f3e94783f2d8173 /klippy/msgproto.py
parent6eefbe5e3069c70bb8c9e2d55b087ae8a6c27fee (diff)
downloadkutter-a67306c76b0c0c2083f9e39e1186a7c3e0550744.tar.gz
kutter-a67306c76b0c0c2083f9e39e1186a7c3e0550744.tar.xz
kutter-a67306c76b0c0c2083f9e39e1186a7c3e0550744.zip
msgproto: Support default values in get_constant() calls
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
Diffstat (limited to 'klippy/msgproto.py')
-rw-r--r--klippy/msgproto.py14
1 files changed, 9 insertions, 5 deletions
diff --git a/klippy/msgproto.py b/klippy/msgproto.py
index 736fe1b8..3d655faa 100644
--- a/klippy/msgproto.py
+++ b/klippy/msgproto.py
@@ -324,12 +324,16 @@ class MessageParser:
except Exception as e:
logging.exception("process_identify error")
raise error("Error during identify: %s" % (str(e),))
- def get_constant(self, name):
- try:
- return self.config[name]
- except KeyError:
+ class sentinel: pass
+ def get_constant(self, name, default=sentinel):
+ if name not in self.config:
+ if default is not self.sentinel:
+ return default
raise error("Firmware constant '%s' not found" % (name,))
- def get_constant_float(self, name):
+ return self.config[name]
+ def get_constant_float(self, name, default=sentinel):
+ if name not in self.config and default is not self.sentinel:
+ return default
try:
return float(self.config[name])
except ValueError: