From 26c24d98ed37f5fc63436201539ec68023fce154 Mon Sep 17 00:00:00 2001 From: George Steel Date: Mon, 26 Dec 2022 20:42:13 -0500 Subject: python 3.8 fixes --- lib/elements/satin_column.py | 3 ++- lib/stitches/running_stitch.py | 7 ++++--- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/lib/elements/satin_column.py b/lib/elements/satin_column.py index bfb716af..00b468c1 100644 --- a/lib/elements/satin_column.py +++ b/lib/elements/satin_column.py @@ -6,6 +6,7 @@ from copy import deepcopy import itertools from itertools import chain +import typing import numpy as np from inkex import paths @@ -769,7 +770,7 @@ class SatinColumn(EmbroideryElement): distance_remaining -= segment_length pos = segment_end - def plot_points_on_rails(self, spacing, offset_px=(0, 0), offset_proportional=(0, 0), use_random=False) -> list[tuple[Point, Point]]: + def plot_points_on_rails(self, spacing, offset_px=(0, 0), offset_proportional=(0, 0), use_random=False) -> typing.List[typing.Tuple[Point, Point]]: # Take a section from each rail in turn, and plot out an equal number # of points on both rails. Return the points plotted. The points will # be contracted or expanded by offset using self.offset_points(). diff --git a/lib/stitches/running_stitch.py b/lib/stitches/running_stitch.py index fd6d4572..34729109 100644 --- a/lib/stitches/running_stitch.py +++ b/lib/stitches/running_stitch.py @@ -4,6 +4,7 @@ # Licensed under the GNU GPL version 3.0 or later. See the file LICENSE for details. import math +import typing from copy import copy import numpy as np @@ -13,7 +14,7 @@ from ..utils import prng """ Utility functions to produce running stitches. """ -def split_segment_even_n(a, b, segments: int, jitter_sigma: float = 0.0, random_seed: str | None = None) -> list[shgeo.Point]: +def split_segment_even_n(a, b, segments: int, jitter_sigma: float = 0.0, random_seed=None) -> typing.List[shgeo.Point]: if segments <= 1: return [] line = shgeo.LineString((a, b)) @@ -27,13 +28,13 @@ def split_segment_even_n(a, b, segments: int, jitter_sigma: float = 0.0, random_ return [line.interpolate(x, normalized=True) for x in sorted(splits)] -def split_segment_even_dist(a, b, max_length: float, jitter_sigma: float = 0.0, random_seed: str | None = None) -> list[shgeo.Point]: +def split_segment_even_dist(a, b, max_length: float, jitter_sigma: float = 0.0, random_seed=None) -> typing.List[shgeo.Point]: distance = shgeo.Point(a).distance(shgeo.Point(b)) segments = math.ceil(distance / max_length) return split_segment_even_n(a, b, segments, jitter_sigma, random_seed) -def split_segment_random_phase(a, b, length: float, length_sigma: float, random_seed: str) -> list[shgeo.Point]: +def split_segment_random_phase(a, b, length: float, length_sigma: float, random_seed: str) -> typing.List[shgeo.Point]: line = shgeo.LineString([a, b]) progress = length * prng.uniformFloats(random_seed, "phase")[0] splits = [progress] -- cgit v1.2.3