diff options
author | Janar Sööt <janar.soot@gmail.com> | 2018-09-27 19:08:01 +0300 |
---|---|---|
committer | Kevin O'Connor <kevin@koconnor.net> | 2018-09-30 11:53:10 -0400 |
commit | 68dc28580fd6e7500e5e8fa515763a25d6a03c29 (patch) | |
tree | 8dbe7dabe0717b4f02a7cfedd6bb862334ed9587 /klippy/extras/gcode_macro.py | |
parent | d9e35481bedd5de04800120befc0e94b5877ecd6 (diff) | |
download | kutter-68dc28580fd6e7500e5e8fa515763a25d6a03c29.tar.gz kutter-68dc28580fd6e7500e5e8fa515763a25d6a03c29.tar.xz kutter-68dc28580fd6e7500e5e8fa515763a25d6a03c29.zip |
gcode_macro: default parameter values
Signed-off-by: Janar Sööt <janar.soot@gmail.com>
Signed-off-by: Kevin O'Connor <kevin@koconnor.net>
Diffstat (limited to 'klippy/extras/gcode_macro.py')
-rw-r--r-- | klippy/extras/gcode_macro.py | 8 |
1 files changed, 7 insertions, 1 deletions
diff --git a/klippy/extras/gcode_macro.py b/klippy/extras/gcode_macro.py index 5e93e360..7fe4bfed 100644 --- a/klippy/extras/gcode_macro.py +++ b/klippy/extras/gcode_macro.py @@ -5,6 +5,8 @@ # This file may be distributed under the terms of the GNU GPLv3 license. import logging +DEFAULT_PREFIX = 'default_parameter_' + class GCodeMacro: def __init__(self, config): self.alias = config.get_name().split()[1].upper() @@ -17,14 +19,18 @@ class GCodeMacro: except self.gcode.error as e: raise config.error(str(e)) self.in_script = False + self.kwparams = { o[len(DEFAULT_PREFIX):].upper(): config.get(o) + for o in config.get_prefix_options(DEFAULT_PREFIX) } cmd_desc = "G-Code macro" def cmd(self, params): if self.in_script: raise self.gcode.error( "Macro %s called recursively" % (self.alias,)) script = "" + kwparams = dict(self.kwparams) + kwparams.update(params) try: - script = self.script.format(**params) + script = self.script.format(**kwparams) except Exception: msg = "Macro %s script formatting failed" % (self.alias,) logging.exception(msg) |