summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
Diffstat (limited to 'lib')
-rw-r--r--lib/extensions/__init__.py21
-rw-r--r--lib/extensions/install.py5
-rwxr-xr-xlib/inx/extensions.py16
-rw-r--r--lib/inx/utils.py2
4 files changed, 33 insertions, 11 deletions
diff --git a/lib/extensions/__init__.py b/lib/extensions/__init__.py
index 1606795c..cf0313b2 100644
--- a/lib/extensions/__init__.py
+++ b/lib/extensions/__init__.py
@@ -11,12 +11,15 @@ from object_commands import ObjectCommands
from layer_commands import LayerCommands
from convert_to_satin import ConvertToSatin
-from base import InkstitchExtension
-import inspect
-
-extensions = []
-for item in locals().values():
- if inspect.isclass(item) and \
- issubclass(item, InkstitchExtension) and \
- item is not InkstitchExtension:
- extensions.append(item)
+__all__ = extensions = [Embroider,
+ Install,
+ Params,
+ Print,
+ Simulate,
+ Input,
+ Output,
+ Zip,
+ Flip,
+ ObjectCommands,
+ LayerCommands,
+ ConvertToSatin]
diff --git a/lib/extensions/install.py b/lib/extensions/install.py
index 42a92113..e405cbac 100644
--- a/lib/extensions/install.py
+++ b/lib/extensions/install.py
@@ -14,6 +14,7 @@ import wx
import inkex
from ..utils import guess_inkscape_config_path, get_bundled_dir
+from ..i18n import _
class InstallerFrame(wx.Frame):
@@ -98,6 +99,10 @@ class InstallerFrame(wx.Frame):
shutil.copy(palette_file, dest)
class Install(inkex.Effect):
+ @classmethod
+ def name(cls):
+ return "install"
+
def effect(self):
app = wx.App()
installer_frame = InstallerFrame(None, title=_("Ink/Stitch Add-ons Installer"), size=(550, 250))
diff --git a/lib/inx/extensions.py b/lib/inx/extensions.py
index 2b097440..4b4b3c13 100755
--- a/lib/inx/extensions.py
+++ b/lib/inx/extensions.py
@@ -3,6 +3,18 @@ import pyembroidery
from .utils import build_environment, write_inx_file
from .outputs import pyembroidery_output_formats
from ..extensions import extensions, Input, Output
+from ..commands import LAYER_COMMANDS, OBJECT_COMMANDS, COMMANDS
+
+
+def layer_commands():
+ # We purposefully avoid using commands.get_command_description() here. We
+ # want to call _() on the description inside the actual template so that
+ # we use the translation language selected in build_environment().
+ return [(command, COMMANDS[command]) for command in LAYER_COMMANDS]
+
+
+def object_commands():
+ return [(command, COMMANDS[command]) for command in OBJECT_COMMANDS]
def pyembroidery_debug_formats():
@@ -21,4 +33,6 @@ def generate_extension_inx_files():
name = extension.name()
template = env.get_template('%s.inx' % name)
write_inx_file(name, template.render(formats=pyembroidery_output_formats(),
- debug_formats=pyembroidery_debug_formats()))
+ debug_formats=pyembroidery_debug_formats(),
+ layer_commands=layer_commands(),
+ object_commands=object_commands()))
diff --git a/lib/inx/utils.py b/lib/inx/utils.py
index 6103f360..7c471276 100644
--- a/lib/inx/utils.py
+++ b/lib/inx/utils.py
@@ -28,7 +28,7 @@ def build_environment():
def write_inx_file(name, contents):
inx_file_name = "inkstitch_%s_%s.inx" % (name, current_locale)
with open(os.path.join(inx_path, inx_file_name), 'w') as inx_file:
- print >> inx_file, contents
+ print >> inx_file, contents.encode("utf-8")
def iterate_inx_locales():
global current_translation, current_locale