summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKaalleen <36401965+kaalleen@users.noreply.github.com>2020-04-01 18:50:14 +0200
committerGitHub <noreply@github.com>2020-04-01 18:50:14 +0200
commitfacf1817927be7e0905dc398aa53464a4f244826 (patch)
treee480054db8e7d2106b20077abaa04197dc242e66
parent13f93ea1515c296335874552930bb2f5f14f977d (diff)
Option to include SVG in ZIP file (#648)
-rw-r--r--lib/extensions/zip.py15
-rw-r--r--templates/zip.inx5
2 files changed, 15 insertions, 5 deletions
diff --git a/lib/extensions/zip.py b/lib/extensions/zip.py
index 2376f79a..8ff2cb5c 100644
--- a/lib/extensions/zip.py
+++ b/lib/extensions/zip.py
@@ -1,14 +1,16 @@
-import sys
import os
+import sys
import tempfile
from zipfile import ZipFile
+
+import inkex
import pyembroidery
-from .base import InkstitchExtension
from ..i18n import _
from ..output import write_embroidery_file
from ..stitch_plan import patches_to_stitch_plan
from ..svg import PIXELS_PER_MM
+from .base import InkstitchExtension
class Zip(InkstitchExtension):
@@ -26,6 +28,8 @@ class Zip(InkstitchExtension):
extension = format['extension']
self.OptionParser.add_option('--format-%s' % extension, type="inkbool", dest=extension)
self.formats.append(extension)
+ self.OptionParser.add_option('--format-svg', type="inkbool", dest='svg')
+ self.formats.append('svg')
def effect(self):
if not self.get_elements():
@@ -42,7 +46,12 @@ class Zip(InkstitchExtension):
for format in self.formats:
if getattr(self.options, format):
output_file = os.path.join(path, "%s.%s" % (base_file_name, format))
- write_embroidery_file(output_file, stitch_plan, self.document.getroot())
+ if not format == 'svg':
+ write_embroidery_file(output_file, stitch_plan, self.document.getroot())
+ else:
+ output = open(output_file, 'w')
+ output.write(inkex.etree.tostring(self.document.getroot()))
+ output.close()
files.append(output_file)
if not files:
diff --git a/templates/zip.inx b/templates/zip.inx
index 485e3f1b..3699915b 100644
--- a/templates/zip.inx
+++ b/templates/zip.inx
@@ -9,9 +9,10 @@
<_filetypetooltip>{{ _("Create a ZIP with multiple embroidery file formats using Ink/Stitch") }}</_filetypetooltip>
<dataloss>true</dataloss>
</output>
- {% for format, description in formats %}
+ {%- for format, description in formats %}
<param name="format-{{ format }}" type="boolean" _gui-text=".{{ format | upper }}: {{ _(description) }}">false</param>
- {% endfor %}
+ {%- endfor %}
+ <param name="format-svg" type="boolean" _gui-text=".SVG: {{ _("Scalable Vector Graphic") }}">false</param>
<param name="extension" type="string" gui-hidden="true">zip</param>
<script>
{{ command_tag | safe }}