summaryrefslogtreecommitdiff
path: root/lib
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 /lib
parent13f93ea1515c296335874552930bb2f5f14f977d (diff)
Option to include SVG in ZIP file (#648)
Diffstat (limited to 'lib')
-rw-r--r--lib/extensions/zip.py15
1 files changed, 12 insertions, 3 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: