summaryrefslogtreecommitdiff
path: root/lib/extensions
diff options
context:
space:
mode:
authorLex Neva <github.com@lexneva.name>2018-08-19 22:14:10 -0400
committerLex Neva <github.com@lexneva.name>2018-08-19 22:14:10 -0400
commit512c3411648b24505165d555a04e82ba689f8aed (patch)
tree3eb79343f2be57bace6e2f3e62cfe319d7fdb2f1 /lib/extensions
parenta4d588e392c734c9e32bf4c06b2403ca32e7f1e2 (diff)
integrate inx generation into ink/stitch proper
Diffstat (limited to 'lib/extensions')
-rw-r--r--lib/extensions/__init__.py10
-rw-r--r--lib/extensions/base.py5
2 files changed, 15 insertions, 0 deletions
diff --git a/lib/extensions/__init__.py b/lib/extensions/__init__.py
index 6c8db318..1606795c 100644
--- a/lib/extensions/__init__.py
+++ b/lib/extensions/__init__.py
@@ -10,3 +10,13 @@ from flip import Flip
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)
diff --git a/lib/extensions/base.py b/lib/extensions/base.py
index 571e3c2d..1794b68c 100644
--- a/lib/extensions/base.py
+++ b/lib/extensions/base.py
@@ -3,6 +3,7 @@ import re
import json
from copy import deepcopy
from collections import MutableMapping
+from stringcase import snakecase
from ..svg.tags import *
from ..elements import AutoFill, Fill, Stroke, SatinColumn, Polyline, EmbroideryElement
@@ -98,6 +99,10 @@ class InkStitchMetadata(MutableMapping):
class InkstitchExtension(inkex.Effect):
"""Base class for Inkstitch extensions. Not intended for direct use."""
+ @classmethod
+ def name(cls):
+ return snakecase(cls.__name__)
+
def hide_all_layers(self):
for g in self.document.getroot().findall(SVG_GROUP_TAG):
if g.get(INKSCAPE_GROUPMODE) == "layer":