Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/Ultimaker/Cura.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLipu Fei <lipu.fei815@gmail.com>2018-10-08 15:40:38 +0300
committerLipu Fei <lipu.fei815@gmail.com>2018-10-08 15:42:22 +0300
commit39652185011d9b3f171ff88bf86336f9167be3b6 (patch)
tree790cedb34d5070be84d816730d1e0c99b6aca0a8 /plugins/CuraEngineBackend/StartSliceJob.py
parent6abd43f6903c7e0e1f3509a5ffacb27d22115882 (diff)
Fix value templating for gcode
CURA-5793 Fix GcodeStartEndFormatter to take the correct default_extruder_nr instead of always using -1.
Diffstat (limited to 'plugins/CuraEngineBackend/StartSliceJob.py')
-rw-r--r--plugins/CuraEngineBackend/StartSliceJob.py10
1 files changed, 7 insertions, 3 deletions
diff --git a/plugins/CuraEngineBackend/StartSliceJob.py b/plugins/CuraEngineBackend/StartSliceJob.py
index 28e442033b..bb9387a65d 100644
--- a/plugins/CuraEngineBackend/StartSliceJob.py
+++ b/plugins/CuraEngineBackend/StartSliceJob.py
@@ -41,11 +41,15 @@ class StartJobResult(IntEnum):
## Formatter class that handles token expansion in start/end gcode
class GcodeStartEndFormatter(Formatter):
- def get_value(self, key: str, args: str, kwargs: dict, default_extruder_nr: str = "-1") -> str: #type: ignore # [CodeStyle: get_value is an overridden function from the Formatter class]
+ def __init__(self, default_extruder_nr: int = -1) -> None:
+ super().__init__()
+ self._default_extruder_nr = default_extruder_nr
+
+ def get_value(self, key: str, args: str, kwargs: dict) -> str: #type: ignore # [CodeStyle: get_value is an overridden function from the Formatter class]
# The kwargs dictionary contains a dictionary for each stack (with a string of the extruder_nr as their key),
# and a default_extruder_nr to use when no extruder_nr is specified
- extruder_nr = int(default_extruder_nr)
+ extruder_nr = self._default_extruder_nr
key_fragments = [fragment.strip() for fragment in key.split(",")]
if len(key_fragments) == 2:
@@ -339,7 +343,7 @@ class StartSliceJob(Job):
try:
# any setting can be used as a token
- fmt = GcodeStartEndFormatter()
+ fmt = GcodeStartEndFormatter(default_extruder_nr = default_extruder_nr)
settings = self._all_extruders_settings.copy()
settings["default_extruder_nr"] = default_extruder_nr
return str(fmt.format(value, **settings))