summaryrefslogtreecommitdiff
path: root/lib/extensions
diff options
context:
space:
mode:
Diffstat (limited to 'lib/extensions')
-rw-r--r--lib/extensions/__init__.py148
-rw-r--r--lib/extensions/cleanup.py4
-rw-r--r--lib/extensions/cutwork_segmentation.py4
-rw-r--r--lib/extensions/display_stacking_order.py2
-rw-r--r--lib/extensions/element_info.py6
-rw-r--r--lib/extensions/fill_to_stroke.py4
-rw-r--r--lib/extensions/generate_palette.py2
-rw-r--r--lib/extensions/gradient_blocks.py2
-rw-r--r--lib/extensions/palette_to_text.py2
-rw-r--r--lib/extensions/reorder.py2
-rwxr-xr-xlib/extensions/sew_stack_editor.py4
-rw-r--r--lib/extensions/stroke_to_lpe_satin.py2
-rw-r--r--lib/extensions/unlink_clone.py15
13 files changed, 100 insertions, 97 deletions
diff --git a/lib/extensions/__init__.py b/lib/extensions/__init__.py
index 9b25ff91..289cac31 100644
--- a/lib/extensions/__init__.py
+++ b/lib/extensions/__init__.py
@@ -77,76 +77,78 @@ from .update_svg import UpdateSvg
from .zigzag_line_to_satin import ZigzagLineToSatin
from .zip import Zip
-__all__ = extensions = [About,
- ApplyPalette,
- ApplyThreadlist,
- AutoRun,
- AutoSatin,
- BreakApart,
- Cleanup,
- CommandsScaleSymbols,
- ConvertToSatin,
- ConvertToStroke,
- CutSatin,
- CutworkSegmentation,
- DensityMap,
- DisplayStackingOrder,
- DuplicateParams,
- ElementInfo,
- FillToSatin,
- FillToStroke,
- Flip,
- GeneratePalette,
- GlobalCommands,
- GradientBlocks,
- Input,
- Install,
- InstallCustomPalette,
- JumpToStroke,
- JumpToTrim,
- KnockdownFill,
- LayerCommands,
- Lettering,
- LetteringAlongPath,
- LetteringCustomFontDir,
- LetteringEditJson,
- LetteringFontSample,
- LetteringForceLockStitches,
- LetteringGenerateJson,
- LetteringRemoveKerning,
- LetteringSetColorSortIndex,
- LetteringSvgFontToLayers,
- LettersToFont,
- ObjectCommands,
- ObjectCommandsToggleVisibility,
- Outline,
- Output,
- PaletteSplitText,
- PaletteToText,
- Params,
- PngRealistic,
- PngSimple,
- Preferences,
- Print,
- Redwork,
- RemoveDuplicatedPoints,
- RemoveEmbroiderySettings,
- Reorder,
- SatinMulticolor,
- SelectElements,
- SelectionToAnchorLine,
- SelectionToGuideLine,
- SelectionToPattern,
- SewStackEditor,
- Simulator,
- StitchPlanPreview,
- StitchPlanPreviewUndo,
- StrokeToLpeSatin,
- Tartan,
- TestSwatches,
- ThreadList,
- Troubleshoot,
- UnlinkClone,
- UpdateSvg,
- ZigzagLineToSatin,
- Zip]
+extensions = [
+ About,
+ ApplyPalette,
+ ApplyThreadlist,
+ AutoRun,
+ AutoSatin,
+ BreakApart,
+ Cleanup,
+ CommandsScaleSymbols,
+ ConvertToSatin,
+ ConvertToStroke,
+ CutSatin,
+ CutworkSegmentation,
+ DensityMap,
+ DisplayStackingOrder,
+ DuplicateParams,
+ ElementInfo,
+ FillToSatin,
+ FillToStroke,
+ Flip,
+ GeneratePalette,
+ GlobalCommands,
+ GradientBlocks,
+ Input,
+ Install,
+ InstallCustomPalette,
+ JumpToStroke,
+ JumpToTrim,
+ KnockdownFill,
+ LayerCommands,
+ Lettering,
+ LetteringAlongPath,
+ LetteringCustomFontDir,
+ LetteringEditJson,
+ LetteringFontSample,
+ LetteringForceLockStitches,
+ LetteringGenerateJson,
+ LetteringRemoveKerning,
+ LetteringSetColorSortIndex,
+ LetteringSvgFontToLayers,
+ LettersToFont,
+ ObjectCommands,
+ ObjectCommandsToggleVisibility,
+ Outline,
+ Output,
+ PaletteSplitText,
+ PaletteToText,
+ Params,
+ PngRealistic,
+ PngSimple,
+ Preferences,
+ Print,
+ Redwork,
+ RemoveDuplicatedPoints,
+ RemoveEmbroiderySettings,
+ Reorder,
+ SatinMulticolor,
+ SelectElements,
+ SelectionToAnchorLine,
+ SelectionToGuideLine,
+ SelectionToPattern,
+ SewStackEditor,
+ Simulator,
+ StitchPlanPreview,
+ StitchPlanPreviewUndo,
+ StrokeToLpeSatin,
+ Tartan,
+ TestSwatches,
+ ThreadList,
+ Troubleshoot,
+ UnlinkClone,
+ UpdateSvg,
+ ZigzagLineToSatin,
+ Zip
+]
diff --git a/lib/extensions/cleanup.py b/lib/extensions/cleanup.py
index d5816b5f..366d8547 100644
--- a/lib/extensions/cleanup.py
+++ b/lib/extensions/cleanup.py
@@ -60,12 +60,12 @@ class Cleanup(InkstitchExtension):
def _dry_run(self):
errormsg(_("%s elements to remove:" % len(self.elements_to_remove)))
for element in self.elements_to_remove:
- errormsg(f" - { element.label }: {element.get_id()}")
+ errormsg(f" - {element.label}: {element.get_id()}")
errormsg("\n")
errormsg(_("%s groups/layers to remove:" % len(self.groups_to_remove)))
for group in self.groups_to_remove:
- errormsg(f" - { group.label }: {group.get_id()}")
+ errormsg(f" - {group.label}: {group.get_id()}")
def _remove(self):
num_elements_removed = len(self.elements_to_remove)
diff --git a/lib/extensions/cutwork_segmentation.py b/lib/extensions/cutwork_segmentation.py
index bea14472..c041e359 100644
--- a/lib/extensions/cutwork_segmentation.py
+++ b/lib/extensions/cutwork_segmentation.py
@@ -136,7 +136,7 @@ class CutworkSegmentation(InkstitchExtension):
d = "M "
for point in point_list:
- d += f"{ point.x }, { point.y } "
+ d += f"{point.x}, {point.y} "
stroke_element = inkex.PathElement(attrib={
"style": color,
@@ -188,4 +188,4 @@ class CutworkSegmentation(InkstitchExtension):
def path_style(self, element, color):
# set stroke color and make it a running stitch - they don't want to cut zigzags
- return inkex.Style(element.node.get('style', '')) + inkex.Style(f'stroke-width:1;stroke:{ color };')
+ return inkex.Style(element.node.get('style', '')) + inkex.Style(f'stroke-width:1;stroke:{color};')
diff --git a/lib/extensions/display_stacking_order.py b/lib/extensions/display_stacking_order.py
index ba5fda98..f9f83ca4 100644
--- a/lib/extensions/display_stacking_order.py
+++ b/lib/extensions/display_stacking_order.py
@@ -38,7 +38,7 @@ class DisplayStackingOrder(InkstitchExtension):
'x': str(position[0]),
'y': str(position[1])
})
- text.style = inkex.Style(f"text-anchor: middle;text-align: center;dominant-baseline: middle;font-size: { self.options.font_size }")
+ text.style = inkex.Style(f"text-anchor: middle;text-align: center;dominant-baseline: middle;font-size: {self.options.font_size}")
tspan = inkex.Tspan()
tspan.text = str(num)
text.add(tspan)
diff --git a/lib/extensions/element_info.py b/lib/extensions/element_info.py
index b84232b7..06acbb16 100644
--- a/lib/extensions/element_info.py
+++ b/lib/extensions/element_info.py
@@ -48,7 +48,7 @@ class ElementInfo(InkstitchExtension):
)
self.list_items.append(ListItem(
- name=f"{ element.node.label } ({ element.node.get_id() })",
+ name=f"{element.node.label} ({element.node.get_id()})",
value=stitch_groups[0].color,
headline=True
))
@@ -116,7 +116,7 @@ class ElementInfo(InkstitchExtension):
stitches_per_group = ""
if len(stitch_groups) > 1:
- stitches_per_group = f" ({', '.join([str(len(group.stitches)) for group in stitch_groups]) })"
+ stitches_per_group = f" ({', '.join([str(len(group.stitches)) for group in stitch_groups])})"
self.list_items.append(ListItem(
name=_("Stitches"),
@@ -200,7 +200,7 @@ class ElementInfo(InkstitchExtension):
class ListItem:
- def __init__(self, name="", value="", headline=False, warning=False):
+ def __init__(self, name="", value="", headline=False, warning=False) -> None:
self.name: str = name
self.value: str = value
self.headline: bool = headline
diff --git a/lib/extensions/fill_to_stroke.py b/lib/extensions/fill_to_stroke.py
index 9101eca2..085b3c95 100644
--- a/lib/extensions/fill_to_stroke.py
+++ b/lib/extensions/fill_to_stroke.py
@@ -67,7 +67,7 @@ class FillToStroke(InkstitchExtension):
element_label = element.node.label
group_name = element_label or element_id
- centerline_group = Group.new(f'{ group_name } { _("center line") }', id=self.uniqueId("centerline_group_"))
+ centerline_group = Group.new(f'{group_name} { _("center line") }', id=self.uniqueId("centerline_group_"))
parent = element.node.getparent()
index = parent.index(element.node) + 1
parent.insert(index, centerline_group)
@@ -75,7 +75,7 @@ class FillToStroke(InkstitchExtension):
transform = Transform(get_correction_transform(parent, child=True))
stroke_width = convert_unit(self.options.line_width_mm, 'px', 'mm')
color = element.node.style('fill')
- style = f"fill:none;stroke:{ color };stroke-width:{ stroke_width }"
+ style = f"fill:none;stroke:{color};stroke-width:{stroke_width}"
multipolygon = element.shape
multipolygon = self._apply_cut_lines(cut_lines, multipolygon)
diff --git a/lib/extensions/generate_palette.py b/lib/extensions/generate_palette.py
index b87bc179..6cc839fb 100644
--- a/lib/extensions/generate_palette.py
+++ b/lib/extensions/generate_palette.py
@@ -84,4 +84,4 @@ class GeneratePalette(InkstitchExtension):
if __name__ == '__main__':
e = GeneratePalette()
- e.affect()
+ e.run()
diff --git a/lib/extensions/gradient_blocks.py b/lib/extensions/gradient_blocks.py
index 8e341cc8..9ae24736 100644
--- a/lib/extensions/gradient_blocks.py
+++ b/lib/extensions/gradient_blocks.py
@@ -173,4 +173,4 @@ def gradient_shapes_and_attributes(element, shape, unit_multiplier):
if __name__ == '__main__':
e = GradientBlocks()
- e.effect()
+ e.run()
diff --git a/lib/extensions/palette_to_text.py b/lib/extensions/palette_to_text.py
index 729c92fc..8c3db035 100644
--- a/lib/extensions/palette_to_text.py
+++ b/lib/extensions/palette_to_text.py
@@ -55,4 +55,4 @@ class PaletteToText(InkstitchExtension):
if __name__ == '__main__':
e = PaletteToText()
- e.affect()
+ e.run()
diff --git a/lib/extensions/reorder.py b/lib/extensions/reorder.py
index 956c0615..2c10559d 100644
--- a/lib/extensions/reorder.py
+++ b/lib/extensions/reorder.py
@@ -34,4 +34,4 @@ class Reorder(InkstitchExtension):
if __name__ == '__main__':
e = Reorder()
- e.affect()
+ e.run()
diff --git a/lib/extensions/sew_stack_editor.py b/lib/extensions/sew_stack_editor.py
index a7cc9e38..3b703225 100755
--- a/lib/extensions/sew_stack_editor.py
+++ b/lib/extensions/sew_stack_editor.py
@@ -6,8 +6,8 @@ import sys
import wx
from wx.lib.agw import ultimatelistctrl as ulc
-from wx.lib.checkbox import GenCheckBox
-from wx.lib.splitter import MultiSplitterWindow
+from wx.lib.checkbox import GenCheckBox # type:ignore[import-untyped]
+from wx.lib.splitter import MultiSplitterWindow # type:ignore[import-untyped]
from .base import InkstitchExtension
from ..debug.debug import debug
diff --git a/lib/extensions/stroke_to_lpe_satin.py b/lib/extensions/stroke_to_lpe_satin.py
index 7d4ffb3e..3c0ed017 100644
--- a/lib/extensions/stroke_to_lpe_satin.py
+++ b/lib/extensions/stroke_to_lpe_satin.py
@@ -165,7 +165,7 @@ class StrokeToLpeSatin(InkstitchExtension):
class SatinPattern:
- def __init__(self, path=None, node_types=None, flip=True, rung_node=1):
+ def __init__(self, path=None, node_types=None, flip=True, rung_node=1) -> None:
self.path: str = path
self.node_types: str = node_types
self.flip: bool = flip
diff --git a/lib/extensions/unlink_clone.py b/lib/extensions/unlink_clone.py
index bebfbdb8..b4af7961 100644
--- a/lib/extensions/unlink_clone.py
+++ b/lib/extensions/unlink_clone.py
@@ -3,7 +3,7 @@
# Copyright (c) 2010 Authors
# Licensed under the GNU GPL version 3.0 or later. See the file LICENSE for details.
-from typing import List, Tuple
+from typing import List, Tuple, cast
from inkex import BaseElement, Boolean, Group, errormsg
@@ -19,7 +19,7 @@ class UnlinkClone(InkstitchExtension):
self.arg_parser.add_argument("--notebook")
self.arg_parser.add_argument("-r", "--recursive", dest="recursive", type=Boolean, default=True)
- def effect(self):
+ def effect(self) -> None:
recursive: bool = self.options.recursive
if not self.get_elements():
@@ -39,15 +39,16 @@ class UnlinkClone(InkstitchExtension):
group = Group()
for child in resolved[0]:
group.append(child)
- resolved[0].getparent().replace(resolved[0], group)
+ parent = cast(BaseElement, resolved[0].getparent()) # Safe assumption that this has a parent.
+ parent.replace(resolved[0], group)
clones_resolved.append((element.node, resolved[0]))
- for (clone, resolved) in clones_resolved:
+ for (clone, resolved_clone) in clones_resolved:
clone.delete()
- orig_id = resolved.get_id()
+ orig_id = resolved_clone.get_id()
new_id = clone.get_id()
# Fix up command backlinks - note this has to happen before we rename so they can actually be found.
- for command in EmbroideryElement(resolved).commands:
+ for command in EmbroideryElement(resolved_clone).commands:
backlink_attrib = CONNECTION_START if command.connector.get(CONNECTION_START) == ("#"+orig_id) else CONNECTION_END
command.connector.set(backlink_attrib, "#"+new_id)
- resolved.set_id(new_id)
+ resolved_clone.set_id(new_id)