summaryrefslogtreecommitdiff
path: root/lib/extensions/auto_run.py
diff options
context:
space:
mode:
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