summaryrefslogtreecommitdiff
path: root/support/inkscape_exporter.py
diff options
context:
space:
mode:
Diffstat (limited to 'support/inkscape_exporter.py')
-rwxr-xr-xsupport/inkscape_exporter.py65
1 files changed, 0 insertions, 65 deletions
diff --git a/support/inkscape_exporter.py b/support/inkscape_exporter.py
deleted file mode 100755
index 25fcabe..0000000
--- a/support/inkscape_exporter.py
+++ /dev/null
@@ -1,65 +0,0 @@
-#!/usr/bin/env python3
-
-import os
-import shutil
-import tempfile
-
-from pogojig.inkscape import effect, inkscape
-
-from xvfbwrapper import Xvfb
-
-
-def _unfuck_svg_document(temp_svg_path):
- """
- Unfucks an SVG document so is can be processed by the better_dxf_export
- plugin (or what's left of it).
- """
- command_line = inkscape.InkscapeCommandLine(temp_svg_path)
- layers = command_line.layers
-
- command_line.apply_to_document('LayerUnlockAll', 'LayerShowAll')
-
- layer_copies = []
-
- for i in layers:
- layer_copy = command_line.duplicate_layer(i)
- layer_copies.append(layer_copy)
-
- command_line.apply_to_layer_content(layer_copy, 'ObjectToPath')
- command_line.apply_to_layer_content(layer_copy, 'SelectionUnGroup')
-
- if not i.use_paths:
- command_line.apply_to_layer_content(layer_copy, 'StrokeToPath')
- command_line.apply_to_layer_content(layer_copy, 'SelectionUnion')
-
- for original, copy in zip(layers, layer_copies):
- command_line.clear_layer(original)
- command_line.move_content(copy, original)
- command_line.delete_layer(copy)
-
- command_line.apply_to_document('FileSave', 'FileClose', 'FileQuit')
- command_line.run()
-
-
-if __name__ == '__main__':
- import argparse
- parser = argparse.ArgumentParser()
- parser.add_argument('infile', metavar='input.svg', help='Inkscape SVG input file')
- parser.add_argument('outfile', metavar='output.dxf', help='DXF output file')
- args = parser.parse_args()
-
- with Xvfb():
- effect.ExportEffect.check_document_units(args.infile)
-
- with tempfile.TemporaryDirectory() as tmpdir:
- temp_svg_path = os.path.join(tmpdir, os.path.basename(args.infile))
- shutil.copyfile(args.infile, temp_svg_path)
-
- _unfuck_svg_document(temp_svg_path)
-
- export_effect = effect.ExportEffect()
- export_effect.affect(args=[temp_svg_path], output=False)
-
- with open(args.outfile, 'w') as f:
- export_effect.write_dxf(f)
-