summaryrefslogtreecommitdiff
path: root/lib/inx
diff options
context:
space:
mode:
authorkarnigen <karnigen@gmail.com>2024-02-07 21:03:57 +0100
committerkarnigen <karnigen@gmail.com>2024-02-07 21:03:57 +0100
commit2be2dd6c6d2abab98ae2ade36c21e60de05102ac (patch)
tree3cfa85c641d9ba9d3f864a4d1a5fd116f2be2d41 /lib/inx
parent048dc5f396314f82c9e2817f2f86efc4b0234848 (diff)
support for modified id and menu
Diffstat (limited to 'lib/inx')
-rw-r--r--lib/inx/__init__.py6
-rwxr-xr-xlib/inx/extensions.py7
-rw-r--r--lib/inx/generate.py29
-rwxr-xr-xlib/inx/info.py6
-rwxr-xr-xlib/inx/inputs.py6
-rw-r--r--lib/inx/outputs.py6
6 files changed, 37 insertions, 23 deletions
diff --git a/lib/inx/__init__.py b/lib/inx/__init__.py
index 6d4846f2..e69de29b 100644
--- a/lib/inx/__init__.py
+++ b/lib/inx/__init__.py
@@ -1,6 +0,0 @@
-# Authors: see git history
-#
-# Copyright (c) 2010 Authors
-# Licensed under the GNU GPL version 3.0 or later. See the file LICENSE for details.
-
-from .generate import generate_inx_files
diff --git a/lib/inx/extensions.py b/lib/inx/extensions.py
index 30fca4da..cceb40de 100755
--- a/lib/inx/extensions.py
+++ b/lib/inx/extensions.py
@@ -40,7 +40,7 @@ def threadcatalog():
return threadcatalog
-def generate_extension_inx_files():
+def generate_extension_inx_files(alter_data):
env = build_environment()
for extension in extensions:
@@ -48,8 +48,9 @@ def generate_extension_inx_files():
continue
name = extension.name()
- template = env.get_template('%s.xml' % name)
- write_inx_file(name, template.render(formats=pyembroidery_output_formats(),
+ template = env.get_template(f'{name}.xml')
+ write_inx_file(name, template.render(alter_data,
+ formats=pyembroidery_output_formats(),
debug_formats=pyembroidery_debug_formats(),
threadcatalog=threadcatalog(),
font_categories=FONT_CATEGORIES,
diff --git a/lib/inx/generate.py b/lib/inx/generate.py
index e94d22f6..47ca3b6d 100644
--- a/lib/inx/generate.py
+++ b/lib/inx/generate.py
@@ -9,8 +9,27 @@ from .inputs import generate_input_inx_files
from .outputs import generate_output_inx_files
-def generate_inx_files():
- generate_input_inx_files()
- generate_output_inx_files()
- generate_extension_inx_files()
- generate_info_inx_files()
+def generate_inx_files(alter=None):
+ if alter is not None:
+ # Ensure the alter is lowercase and string a-z and one letter long
+ if len(alter) != 1 or not alter[0].isalpha() or not alter[0].islower(): # error
+ raise ValueError(f"Invalid alter '{alter}' for inx files, must be a single letter a-z.")
+
+ if alter is None:
+ id_inkstitch = "inkstitch"
+ menu_inkstitch = "Ink/Stitch"
+ else:
+ id_inkstitch = f"{alter}-inkstitch"
+ menu_inkstitch = f"Ink/Stitch-{alter}"
+
+ # print(f"generate_inx_files: id_inkstitch={id_inkstitch}, menu_inkstitch={menu_inkstitch}")
+
+ alter_data = {
+ 'id_inkstitch': id_inkstitch,
+ 'menu_inkstitch': menu_inkstitch,
+ }
+
+ generate_input_inx_files(alter_data)
+ generate_output_inx_files(alter_data)
+ generate_extension_inx_files(alter_data)
+ generate_info_inx_files(alter_data)
diff --git a/lib/inx/info.py b/lib/inx/info.py
index 3a69adad..dc80c3eb 100755
--- a/lib/inx/info.py
+++ b/lib/inx/info.py
@@ -6,9 +6,9 @@
from .utils import build_environment, write_inx_file
-def generate_info_inx_files():
+def generate_info_inx_files(alter_data):
env = build_environment()
info_inx_files = ['about', 'embroider']
for info in info_inx_files:
- template = env.get_template('%s.xml' % info)
- write_inx_file(info, template.render())
+ template = env.get_template(f'{info}.xml')
+ write_inx_file(info, template.render(alter_data))
diff --git a/lib/inx/inputs.py b/lib/inx/inputs.py
index 3ae0b871..624a8dcc 100755
--- a/lib/inx/inputs.py
+++ b/lib/inx/inputs.py
@@ -14,10 +14,10 @@ def pyembroidery_input_formats():
yield format['extension'], format['description']
-def generate_input_inx_files():
+def generate_input_inx_files(alter_data):
env = build_environment()
template = env.get_template('input.xml')
for format, description in pyembroidery_input_formats():
- name = "input_%s" % format.upper()
- write_inx_file(name, template.render(format=format, description=description))
+ name = f"input_{format.upper()}"
+ write_inx_file(name, template.render(alter_data, format=format, description=description))
diff --git a/lib/inx/outputs.py b/lib/inx/outputs.py
index 3a4ac9d0..21014744 100644
--- a/lib/inx/outputs.py
+++ b/lib/inx/outputs.py
@@ -23,10 +23,10 @@ def pyembroidery_output_formats():
yield format['extension'], description, format['mimetype'], format['category']
-def generate_output_inx_files():
+def generate_output_inx_files(alter_data):
env = build_environment()
template = env.get_template('output.xml')
for format, description, mimetype, category in pyembroidery_output_formats():
- name = "output_%s" % format.upper()
- write_inx_file(name, template.render(format=format, mimetype=mimetype, description=description))
+ name = f"output_{format.upper()}"
+ write_inx_file(name, template.render(alter_data, format=format, mimetype=mimetype, description=description))