summaryrefslogtreecommitdiff
path: root/embroider.py
diff options
context:
space:
mode:
authorLex Neva <github@lexneva.name>2016-02-25 17:17:41 -0500
committerLex Neva <github@lexneva.name>2016-02-25 17:17:41 -0500
commit3c3591c78b379d2fbf09f69012bf800b6b2e37ad (patch)
treeafcd552179bafee5f92b1a087f26c7e9bf6dad03 /embroider.py
parent8f3b03ff6d8ec78a915742289f72fea12c0880a9 (diff)
embroider everything if nothing is selected
Diffstat (limited to 'embroider.py')
-rw-r--r--embroider.py22
1 files changed, 14 insertions, 8 deletions
diff --git a/embroider.py b/embroider.py
index 856faf6e..757776dc 100644
--- a/embroider.py
+++ b/embroider.py
@@ -864,11 +864,10 @@ class Embroider(inkex.Effect):
return runs
def handle_node(self, node):
- if (node.tag == inkex.addNS('g', 'svg')):
- #dbg.write("%s\n"%str((id, etree.tostring(node, pretty_print=True))))
- #dbg.write("not a path; recursing:\n")
- for child in node.iter(self.svgpath):
- self.handle_node(child)
+ for child in node:
+ self.handle_node(child)
+
+ if node.tag != self.svgpath:
return
#dbg.write("Node: %s\n"%str((id, etree.tostring(node, pretty_print=True))))
@@ -945,13 +944,20 @@ class Embroider(inkex.Effect):
dbg.write("starting nodes: %s" % time.time())
dbg.flush()
- for node in self.selected.itervalues():
- self.handle_node(node)
+ if self.selected:
+ for node in self.selected.itervalues():
+ self.handle_node(node)
+ else:
+ self.handle_node(self.document.getroot())
dbg.write("finished nodes: %s" % time.time())
dbg.flush()
if not self.patchList:
- inkex.errormsg("No paths selected.")
+ if self.selected:
+ inkex.errormsg("No embroiderable paths selected.")
+ else:
+ inkex.errormsg("No embroiderable paths found in document.")
+ inkex.errormsg("Tip: use Path -> Object to Path to convert non-paths before embroidering.")
return
dbg.write("starting tsp: %s" % time.time())