Hackish way to make scriptsboxes to work with Inkscape.
This commit is contained in:
parent
ff7ee22885
commit
e0a4d06c43
|
@ -22,6 +22,7 @@ except ImportError:
|
|||
pass
|
||||
import cairo
|
||||
import math
|
||||
import sys
|
||||
import argparse
|
||||
from argparse import ArgumentParser
|
||||
import re
|
||||
|
@ -30,6 +31,7 @@ from xml.sax.saxutils import quoteattr
|
|||
|
||||
from boxes import edges
|
||||
from boxes import formats
|
||||
from boxes import svgutil
|
||||
from boxes import gears
|
||||
from boxes import pulley
|
||||
from boxes import parts
|
||||
|
@ -215,6 +217,7 @@ class Boxes:
|
|||
self.formats = formats.Formats()
|
||||
self.argparser = ArgumentParser(description=self.__doc__)
|
||||
self.edgesettings = {}
|
||||
self.inkscapefile = None
|
||||
self.argparser._action_groups[1].title = self.__class__.__name__ + " Settings"
|
||||
|
||||
defaultgroup = self.argparser.add_argument_group(
|
||||
|
@ -330,6 +333,11 @@ class Boxes:
|
|||
:param args: (Default value = None) parameters, None for using sys.argv
|
||||
|
||||
"""
|
||||
args = args or sys.argv
|
||||
if args[-1][0] != "-":
|
||||
self.inkscapefile = args[-1]
|
||||
del args[-1]
|
||||
args = [a for a in args if not a.startswith('--tab=')]
|
||||
for key, value in vars(self.argparser.parse_args(args=args)).items():
|
||||
# treat edge settings separately
|
||||
for setting in self.edgesettings:
|
||||
|
@ -497,6 +505,8 @@ class Boxes:
|
|||
self.surface.finish()
|
||||
|
||||
self.formats.convert(self.output, self.format)
|
||||
if self.inkscapefile:
|
||||
svgutil.svgMerge(self.output, self.inkscapefile, sys.stdout)
|
||||
|
||||
############################################################
|
||||
### Turtle graphics commands
|
||||
|
|
|
@ -1,5 +1,6 @@
|
|||
#!/usr/bin/env python3
|
||||
|
||||
from __future__ import print_function
|
||||
import argparse
|
||||
import os
|
||||
import sys
|
||||
|
@ -26,9 +27,15 @@ def main():
|
|||
del modules['_template']
|
||||
if len(sys.argv) == 1:
|
||||
printusage()
|
||||
elif sys.argv[1] in modules:
|
||||
elif (sys.argv[1] in modules or
|
||||
(sys.argv[1].startswith("--generator=") and
|
||||
sys.argv[1][12:] in modules)):
|
||||
if sys.argv[1].startswith("--generator="):
|
||||
sys.argv[1] = sys.argv[1][12:]
|
||||
name = sys.argv[1]
|
||||
sys.argv[0] = "%s %s" % (sys.argv[0], sys.argv[1])
|
||||
sys.argv[1] = '--tab="0"'
|
||||
del sys.argv[0]
|
||||
del sys.argv[1]
|
||||
modules[name].main()
|
||||
elif sys.argv[1] == '--list':
|
||||
|
|
Loading…
Reference in New Issue