generator for input format INX files

pull/145/head
Lex Neva 2018-04-09 20:07:33 -04:00
rodzic dfbe6f9c0f
commit 24ed1de2de
2 zmienionych plików z 39 dodań i 13 usunięć

Wyświetl plik

@ -1,19 +1,45 @@
#!/usr/bin/env python
import sys
sys.path.append('embroidermodder/experimental/python/binding')
import sys, os
from os.path import dirname
from libembroidery import *
from jinja2 import Environment, FileSystemLoader, select_autoescape
formatList = embFormatList_create()
curFormat = formatList
while(curFormat):
extension = embFormat_extension(curFormat)
description = embFormat_description(curFormat)
writerState = embFormat_readerState(curFormat)
if writerState.strip() and embFormat_type(curFormat) != EMBFORMAT_OBJECTONLY:
print extension
def build_environment():
template_dir = os.path.join(dirname(dirname(os.path.realpath(__file__))), "templates")
curFormat = curFormat.next
return Environment(
loader = FileSystemLoader(template_dir),
autoescape = select_autoescape(['xml'])
)
def libembroidery_input_formats():
formatList = embFormatList_create()
curFormat = formatList
while(curFormat):
extension = embFormat_extension(curFormat)
description = embFormat_description(curFormat)
writerState = embFormat_readerState(curFormat)
if writerState.strip() and embFormat_type(curFormat) != EMBFORMAT_OBJECTONLY:
# extension includes the dot, so we'll remove it
yield extension[1:], description
curFormat = curFormat.next
def main():
env = build_environment()
template = env.get_template('embroider_input.inx')
for format, description in libembroidery_input_formats():
inx = template.render(format=format, description=description)
with open("embroider_input_%s.inx" % format.upper(), 'w') as inx_file:
inx_file.write(inx)
if __name__ == "__main__":
sys.exit(main())

Wyświetl plik

@ -7,7 +7,7 @@
<input>
<extension>.{{ format }}</extension>
<mimetype>application/x-embroidery-{{ format }}</mimetype>
<_filetypename>{{ description }} (.{{ format }})</_filetypename>
<_filetypename>Ink/Stitch: {{ description }} (.{{ format }})</_filetypename>
<_filetypetooltip>convert {{ format | upper }} file to Ink/Stitch manual-stitch paths</_filetypetooltip>
</input>
<script>