From 760c17b8156db5cbc0662d52d57902939e9e0147 Mon Sep 17 00:00:00 2001 From: Kaalleen <36401965+kaalleen@users.noreply.github.com> Date: Wed, 12 Mar 2025 08:16:28 +0100 Subject: annotations (#3569) * begin to add annotations to some extensions * break_apart: use path operations * do not follow pyembroidery imports --- lib/extensions/auto_run.py | 29 ++++++++++++++--------------- 1 file changed, 14 insertions(+), 15 deletions(-) (limited to 'lib/extensions/auto_run.py') 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 -- cgit v1.2.3