summaryrefslogtreecommitdiff
path: root/bin/gen-input-inx
diff options
context:
space:
mode:
Diffstat (limited to 'bin/gen-input-inx')
-rwxr-xr-xbin/gen-input-inx45
1 files changed, 45 insertions, 0 deletions
diff --git a/bin/gen-input-inx b/bin/gen-input-inx
new file mode 100755
index 00000000..918adfb9
--- /dev/null
+++ b/bin/gen-input-inx
@@ -0,0 +1,45 @@
+#!/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 = True
+ )
+
+
+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())