diff options
Diffstat (limited to 'share/extensions/convert2dashes.py')
| -rwxr-xr-x | share/extensions/convert2dashes.py | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/share/extensions/convert2dashes.py b/share/extensions/convert2dashes.py index 3910d8e82..1d1ba9736 100755 --- a/share/extensions/convert2dashes.py +++ b/share/extensions/convert2dashes.py @@ -26,8 +26,6 @@ import cubicsuperpath import bezmisc import simplestyle -inkex.localize() - def tpoint((x1,y1), (x2,y2), t = 0.5): return [x1+t*(x2-x1),y1+t*(y2-y1)] def cspbezsplit(sp1, sp2, t = 0.5): @@ -49,9 +47,21 @@ def cspseglength(sp1,sp2, tolerance = 0.001): class SplitIt(inkex.Effect): def __init__(self): inkex.Effect.__init__(self) + self.not_converted = [] def effect(self): - for id, node in self.selected.iteritems(): + for i, node in self.selected.iteritems(): + self.convert2dash(node) + if len(self.not_converted): + inkex.errormsg(_('Total number of objects not converted: {}\n').format(len(self.not_converted))) + # return list of IDs in case the user needs to find a specific object + inkex.debug(self.not_converted) + + def convert2dash(self, node): + if node.tag == inkex.addNS('g', 'svg'): + for child in node: + self.convert2dash(child) + else: if node.tag == inkex.addNS('path','svg'): dashes = [] offset = 0 @@ -97,7 +107,7 @@ class SplitIt(inkex.Effect): if node.get(inkex.addNS('type','sodipodi')): del node.attrib[inkex.addNS('type', 'sodipodi')] else: - inkex.errormsg(_("The selected object is not a path.\nTry using the procedure Path->Object to Path.")) + self.not_converted.append(node.get('id')) if __name__ == '__main__': e = SplitIt() |
