summaryrefslogtreecommitdiff
path: root/lib/extensions/auto_run.py
diff options
context:
space:
mode:
authorKaalleen <36401965+kaalleen@users.noreply.github.com>2025-03-12 08:16:28 +0100
committerGitHub <noreply@github.com>2025-03-12 08:16:28 +0100
commit760c17b8156db5cbc0662d52d57902939e9e0147 (patch)
tree0a11bc197cdffaa59be23263b625ffec31d84bf0 /lib/extensions/auto_run.py
parente3ac18d6433a2c79b185400e6c7f5380ff71eb1e (diff)
annotations (#3569)
* begin to add annotations to some extensions * break_apart: use path operations * do not follow pyembroidery imports
Diffstat (limited to 'lib/extensions/auto_run.py')
-rw-r--r--lib/extensions/auto_run.py29
1 files changed, 14 insertions, 15 deletions
diff --git a/lib/extensions/auto_run.py b/lib/extensions/auto_run.py
index 3b2003e4..8f52cc02 100644
--- a/lib/extensions/auto_run.py
+++ b/lib/extensions/auto_run.py
@@ -3,7 +3,9 @@
# Copyright (c) 2010 Authors
# Licensed under the GNU GPL version 3.0 or later. See the file LICENSE for details.
-import inkex
+from typing import Any, List, Optional, Union
+
+from inkex import Boolean, Vector2d, errormsg
from ..elements import Stroke
from ..i18n import _
@@ -17,12 +19,12 @@ class AutoRun(CommandsExtension):
def __init__(self, *args, **kwargs):
CommandsExtension.__init__(self, *args, **kwargs)
- self.arg_parser.add_argument("-b", "--break_up", dest="break_up", type=inkex.Boolean, default=True)
- self.arg_parser.add_argument("-p", "--preserve_order", dest="preserve_order", type=inkex.Boolean, default=False)
+ self.arg_parser.add_argument("-b", "--break_up", dest="break_up", type=Boolean, default=True)
+ self.arg_parser.add_argument("-p", "--preserve_order", dest="preserve_order", type=Boolean, default=False)
self.arg_parser.add_argument("-o", "--options", dest="options", type=str, default="")
self.arg_parser.add_argument("-i", "--info", dest="help", type=str, default="")
- def effect(self):
+ def effect(self) -> None:
elements = self.check_selection()
if not elements:
return
@@ -34,32 +36,29 @@ class AutoRun(CommandsExtension):
autorun(elements, self.options.preserve_order, break_up, starting_point, ending_point, self.options.trim)
- def get_starting_point(self):
+ def get_starting_point(self) -> Optional[Vector2d]:
return self.get_command_point("autoroute_start")
- def get_ending_point(self):
+ def get_ending_point(self) -> Optional[Vector2d]:
return self.get_command_point("autoroute_end")
- def get_command_point(self, command_type):
+ def get_command_point(self, command_type: str) -> Optional[Vector2d]:
command = None
for stroke in self.elements:
command = stroke.get_command(command_type)
# return the first occurence directly
if command:
return command.target_point
+ return None
- def check_selection(self):
- if not self.get_elements():
- return
-
+ def check_selection(self) -> List[Union[Stroke, Any]]:
if not self.svg.selection:
# L10N auto-route running stitch columns extension
- inkex.errormsg(_("Please select one or more stroke elements."))
- return False
+ errormsg(_("Please select one or more stroke elements."))
+ self.get_elements()
elements = [element for element in self.elements if isinstance(element, Stroke)]
if len(elements) == 0:
- inkex.errormsg(_("Please select at least one stroke element."))
- return False
+ errormsg(_("Please select at least one stroke element."))
return elements