diff options
author | Kevin O'Connor <kevin@koconnor.net> | 2019-02-18 18:04:42 -0500 |
---|---|---|
committer | Kevin O'Connor <kevin@koconnor.net> | 2019-02-18 18:04:42 -0500 |
commit | b260eb916863aa2dc1e632bdd164ee67c4675c68 (patch) | |
tree | 19ffc30703ef642b18b12dff02da41622d55224d /klippy/gcode.py | |
parent | 276d5a1436f3f2c1d54665fcef518bbe8d42e617 (diff) | |
download | kutter-b260eb916863aa2dc1e632bdd164ee67c4675c68.tar.gz kutter-b260eb916863aa2dc1e632bdd164ee67c4675c68.tar.xz kutter-b260eb916863aa2dc1e632bdd164ee67c4675c68.zip |
gcode: Raise a config error on invalid register_command()
Raise a printer.config_error() on an invalid register_command() call.
This error is easier to handle for the vast majority of callers.
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
Diffstat (limited to 'klippy/gcode.py')
-rw-r--r-- | klippy/gcode.py | 21 |
1 files changed, 12 insertions, 9 deletions
diff --git a/klippy/gcode.py b/klippy/gcode.py index 0506e715..cc419b4b 100644 --- a/klippy/gcode.py +++ b/klippy/gcode.py @@ -67,7 +67,8 @@ class GCodeParser: del self.base_gcode_handlers[cmd] return if cmd in self.ready_gcode_handlers: - raise error("gcode command %s already registered" % (cmd,)) + raise self.printer.config_error( + "gcode command %s already registered" % (cmd,)) if not (len(cmd) >= 2 and not cmd[0].isupper() and cmd[1].isdigit()): origfunc = func func = lambda params: origfunc(self.get_extended_params(params)) @@ -83,11 +84,13 @@ class GCodeParser: self.mux_commands[cmd] = prev = (key, {}) prev_key, prev_values = prev if prev_key != key: - raise error("mux command %s %s %s may have only one key (%s)" % ( - cmd, key, value, prev_key)) + raise self.printer.config_error( + "mux command %s %s %s may have only one key (%s)" % ( + cmd, key, value, prev_key)) if value in prev_values: - raise error("mux command %s %s %s already registered (%s)" % ( - cmd, key, value, prev_values)) + raise self.printer.config_error( + "mux command %s %s %s already registered (%s)" % ( + cmd, key, value, prev_values)) prev_values[value] = func def set_move_transform(self, transform): if self.move_transform is not None: @@ -328,16 +331,16 @@ class GCodeParser: raise error("Error on '%s': unable to parse %s" % ( params['#original'], params[name])) if minval is not None and value < minval: - raise self.error("Error on '%s': %s must have minimum of %s" % ( + raise error("Error on '%s': %s must have minimum of %s" % ( params['#original'], name, minval)) if maxval is not None and value > maxval: - raise self.error("Error on '%s': %s must have maximum of %s" % ( + raise error("Error on '%s': %s must have maximum of %s" % ( params['#original'], name, maxval)) if above is not None and value <= above: - raise self.error("Error on '%s': %s must be above %s" % ( + raise error("Error on '%s': %s must be above %s" % ( params['#original'], name, above)) if below is not None and value >= below: - raise self.error("Error on '%s': %s must be below %s" % ( + raise error("Error on '%s': %s must be below %s" % ( params['#original'], name, below)) return value def get_int(self, name, params, default=sentinel, minval=None, maxval=None): |