diff options
Diffstat (limited to 'lib/extensions/auto_run.py')
| -rw-r--r-- | lib/extensions/auto_run.py | 29 |
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 |
