aboutsummaryrefslogtreecommitdiffstats
path: root/klippy/extras/gcode_macro.py
diff options
context:
space:
mode:
authorJanar Sööt <janar.soot@gmail.com>2018-09-27 19:08:01 +0300
committerKevin O'Connor <kevin@koconnor.net>2018-09-30 11:53:10 -0400
commit68dc28580fd6e7500e5e8fa515763a25d6a03c29 (patch)
tree8dbe7dabe0717b4f02a7cfedd6bb862334ed9587 /klippy/extras/gcode_macro.py
parentd9e35481bedd5de04800120befc0e94b5877ecd6 (diff)
downloadkutter-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.py8
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)