summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/extensions/input.py6
-rw-r--r--lib/stitch_plan/stitch_plan.py6
2 files changed, 12 insertions, 0 deletions
diff --git a/lib/extensions/input.py b/lib/extensions/input.py
index 65542bb3..957d355c 100644
--- a/lib/extensions/input.py
+++ b/lib/extensions/input.py
@@ -31,6 +31,12 @@ class Input(object):
stitch_plan.delete_empty_color_blocks()
+ if stitch_plan.last_color_block:
+ if stitch_plan.last_color_block.last_stitch:
+ if stitch_plan.last_color_block.last_stitch.stop:
+ # ending with a STOP command is redundant, so remove it
+ del stitch_plan.last_color_block[-1]
+
extents = stitch_plan.extents
svg = etree.Element("svg", nsmap=inkex.NSS, attrib={
"width": str(extents[0] * 2),
diff --git a/lib/stitch_plan/stitch_plan.py b/lib/stitch_plan/stitch_plan.py
index c62ebe98..ac6b3b8d 100644
--- a/lib/stitch_plan/stitch_plan.py
+++ b/lib/stitch_plan/stitch_plan.py
@@ -169,6 +169,12 @@ class ColorBlock(object):
def __repr__(self):
return "ColorBlock(%s, %s)" % (self.color, self.stitches)
+ def __getitem__(self, item):
+ return self.stitches[item]
+
+ def __delitem__(self, item):
+ del self.stitches[item]
+
def has_color(self):
return self._color is not None