inkstitch/bin/gen-input-inx

46 wiersze
1.3 KiB
Python
Executable File

#!/usr/bin/env python
import sys, os
from os.path import dirname
from libembroidery import *
from jinja2 import Environment, FileSystemLoader, select_autoescape
def build_environment():
template_dir = os.path.join(dirname(dirname(os.path.realpath(__file__))), "templates")
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("inx/embroider_input_%s.inx" % format.upper(), 'w') as inx_file:
inx_file.write(inx)
if __name__ == "__main__":
sys.exit(main())