diff options
| author | Kaalleen <reni@allenka.de> | 2020-05-27 18:39:04 +0200 |
|---|---|---|
| committer | Kaalleen <reni@allenka.de> | 2020-05-27 18:39:04 +0200 |
| commit | 2f27d6af16952b311bb5d1988ee70afa990c3762 (patch) | |
| tree | ad4e0be083e58acd136cc026f79e1c88a9869c83 /lib/extensions/cleanup.py | |
| parent | 455b02847f14983ef8c2463849981f5e9fc44063 (diff) | |
ignore empty d
Diffstat (limited to 'lib/extensions/cleanup.py')
| -rw-r--r-- | lib/extensions/cleanup.py | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/lib/extensions/cleanup.py b/lib/extensions/cleanup.py index f8cb7d9a..e06b4bea 100644 --- a/lib/extensions/cleanup.py +++ b/lib/extensions/cleanup.py @@ -1,5 +1,7 @@ import sys +from inkex import NSS + from ..elements import Fill, Stroke from ..i18n import _ from .base import InkstitchExtension @@ -22,13 +24,19 @@ class Cleanup(InkstitchExtension): # Remove selection, we want every element in the document self.selected = {} + count = 0 + svg = self.document.getroot() + empty_d_objects = svg.xpath(".//svg:path[@d='' or not(@d)]", namespaces=NSS) + for empty in empty_d_objects: + empty.getparent().remove(empty) + count += 1 + if not self.get_elements(): + print >> sys.stderr, _("%s elements removed" % count) return - count = 0 for element in self.elements: - if (isinstance(element, Fill) and self.rm_fill and - element.shape.area < self.fill_threshold): + if (isinstance(element, Fill) and self.rm_fill and element.shape.area < self.fill_threshold): element.node.getparent().remove(element.node) count += 1 if (isinstance(element, Stroke) and self.rm_stroke and |
