diff options
| author | Benson Muite <benson_muite@emailplus.org> | 2023-07-24 11:45:26 +0300 |
|---|---|---|
| committer | Benson Muite <benson_muite@emailplus.org> | 2023-07-24 14:33:34 +0300 |
| commit | a9f340fba196f9420e95ae9711a7f1a6f2f220dd (patch) | |
| tree | 1bfd66d1a8d6e8dabf60fd179fc718a4c0eb615b | |
| parent | 440e8e80748645e1073a5fe50c64fe61a2248eff (diff) | |
Drop stringcase dependency
| -rw-r--r-- | lib/extensions/base.py | 17 | ||||
| -rw-r--r-- | requirements.txt | 1 |
2 files changed, 15 insertions, 3 deletions
diff --git a/lib/extensions/base.py b/lib/extensions/base.py index 3c16a11c..2218a6b5 100644 --- a/lib/extensions/base.py +++ b/lib/extensions/base.py @@ -7,7 +7,6 @@ import os import inkex from lxml.etree import Comment -from stringcase import snakecase from ..commands import is_command, layer_commands from ..elements import EmbroideryElement, nodes_to_elements @@ -32,7 +31,21 @@ class InkstitchExtension(inkex.EffectExtension): @classmethod def name(cls): - return snakecase(cls.__name__) + # Create a table to do replacements of other separating characters + chars2underscore = ("-", ".", " ", "\t", "\n", "\r", "\v", "\f") + table = dict((ord(c), "_") for c in chars2underscore) + # Add underscores before any uppercase letters except the first + snakecasename = cls.__name__ + for i in range(len(snakecasename)-1): + if snakecasename[i+1].isupper() and snakecasename[i].islower(): + table.update({ord(snakecasename[i+1]): "_"+snakecasename[i+1]}) + # Replace characters + snakecasename = snakecasename.translate(table) + # Ensure leading character is not an underscore + if snakecasename[0] == "_": + snakecasename = snakecasename[1:] + # Transform all characters to lowercase + return snakecasename.lower() def hide_all_layers(self): for g in self.document.getroot().findall(SVG_GROUP_TAG): diff --git a/requirements.txt b/requirements.txt index 7697d508..14d72270 100644 --- a/requirements.txt +++ b/requirements.txt @@ -18,7 +18,6 @@ requests # we need already submitted fixes - so let's grab them from the github repository colormath @ git+https://github.com/gtaylor/python-colormath.git@4a076831fd5136f685aa7143db81eba27b2cd19a -stringcase flask>=2.2.0 fonttools trimesh>=3.15.2 |
