diff options
| author | Lex Neva <github.com@lexneva.name> | 2018-08-21 20:32:50 -0400 |
|---|---|---|
| committer | Lex Neva <github.com@lexneva.name> | 2018-08-21 20:32:50 -0400 |
| commit | 038875f876d79d0f1e971886fe42f5bee4f9f31e (patch) | |
| tree | 296c60d3b490f988802f9bec884eed32dcbf9c0c /lib/svg | |
| parent | f26042f477f1520443b1d9dad0bb88ef3ad7ca47 (diff) | |
autopep8
Diffstat (limited to 'lib/svg')
| -rw-r--r-- | lib/svg/path.py | 3 | ||||
| -rw-r--r-- | lib/svg/realistic_rendering.py | 1 | ||||
| -rw-r--r-- | lib/svg/svg.py | 38 | ||||
| -rw-r--r-- | lib/svg/units.py | 21 |
4 files changed, 37 insertions, 26 deletions
diff --git a/lib/svg/path.py b/lib/svg/path.py index 0a8dcb74..51100e38 100644 --- a/lib/svg/path.py +++ b/lib/svg/path.py @@ -3,6 +3,7 @@ import cubicsuperpath from .units import get_viewbox_transform + def apply_transforms(path, node): transform = get_node_transform(node) @@ -11,6 +12,7 @@ def apply_transforms(path, node): return path + def get_node_transform(node): # start with the identity transform transform = [[1.0, 0.0, 0.0], [0.0, 1.0, 0.0]] @@ -26,6 +28,7 @@ def get_node_transform(node): return transform + def get_correction_transform(node, child=False): """Get a transform to apply to new siblings or children of this SVG node""" diff --git a/lib/svg/realistic_rendering.py b/lib/svg/realistic_rendering.py index e31534da..5af7e9a6 100644 --- a/lib/svg/realistic_rendering.py +++ b/lib/svg/realistic_rendering.py @@ -102,6 +102,7 @@ realistic_filter = """ </filter> """ + def realistic_stitch(start, end): """Generate a stitch vector path given a start and end point.""" diff --git a/lib/svg/svg.py b/lib/svg/svg.py index 48b1343a..b1cc91d9 100644 --- a/lib/svg/svg.py +++ b/lib/svg/svg.py @@ -1,4 +1,6 @@ -import simpletransform, simplestyle, inkex +import simpletransform +import simplestyle +import inkex from .units import get_viewbox_transform from .tags import SVG_GROUP_TAG, INKSCAPE_LABEL, INKSCAPE_GROUPMODE, SVG_PATH_TAG, SVG_DEFS_TAG @@ -11,13 +13,13 @@ def color_block_to_point_lists(color_block): point_lists = [[]] for stitch in color_block: - if stitch.trim: - if point_lists[-1]: - point_lists.append([]) - continue + if stitch.trim: + if point_lists[-1]: + point_lists.append([]) + continue - if not stitch.jump and not stitch.color_change: - point_lists[-1].append(stitch.as_tuple()) + if not stitch.jump and not stitch.color_change: + point_lists[-1].append(stitch.as_tuple()) return point_lists @@ -51,13 +53,14 @@ def color_block_to_realistic_stitches(color_block, svg): 'stroke': 'none', 'filter': 'url(#realistic-stitch-filter)' }), - 'd': realistic_stitch(start, point), - 'transform': get_correction_transform(svg) - })) + 'd': realistic_stitch(start, point), + 'transform': get_correction_transform(svg) + })) start = point return paths + def color_block_to_paths(color_block, svg): paths = [] # We could emit just a single path with one subpath per point list, but @@ -68,13 +71,13 @@ def color_block_to_paths(color_block, svg): SVG_PATH_TAG, {'style': simplestyle.formatStyle( {'stroke': color, - 'stroke-width': "0.4", - 'fill': 'none'}), - 'd': "M" + " ".join(" ".join(str(coord) for coord in point) for point in point_list), - 'transform': get_correction_transform(svg), - 'embroider_manual_stitch': 'true', - 'embroider_trim_after': 'true', - })) + 'stroke-width': "0.4", + 'fill': 'none'}), + 'd': "M" + " ".join(" ".join(str(coord) for coord in point) for point in point_list), + 'transform': get_correction_transform(svg), + 'embroider_manual_stitch': 'true', + 'embroider_trim_after': 'true', + })) # no need to trim at the end of a thread color if paths: @@ -82,6 +85,7 @@ def color_block_to_paths(color_block, svg): return paths + def render_stitch_plan(svg, stitch_plan, realistic=False): layer = svg.find(".//*[@id='__inkstitch_stitch_plan__']") if layer is None: diff --git a/lib/svg/units.py b/lib/svg/units.py index 126027bc..585afab4 100644 --- a/lib/svg/units.py +++ b/lib/svg/units.py @@ -6,8 +6,9 @@ from ..utils import cache PIXELS_PER_MM = 96 / 25.4 # cribbed from inkscape-silhouette -def parse_length_with_units( str ): + +def parse_length_with_units(str): ''' Parse an SVG value which may or may not have units attached This version is greatly simplified in that it only allows: no units, @@ -39,8 +40,8 @@ def parse_length_with_units( str ): u = '%' s = s[:-1] try: - v = float( s ) - except: + v = float(s) + except BaseException: raise ValueError(_("parseLengthWithUnits: unknown unit %s") % s) return v, u @@ -53,16 +54,16 @@ def convert_length(length): return value if units == 'pt': - value /= 72 - units = 'in' + value /= 72 + units = 'in' if units == 'pc': - value /= 6 - units = 'in' + value /= 6 + units = 'in' if units == 'cm': - value *= 10 - units = 'mm' + value *= 10 + units = 'mm' if units == 'mm': value = value / 25.4 @@ -75,6 +76,7 @@ def convert_length(length): raise ValueError(_("Unknown unit: %s") % units) + @cache def get_viewbox(svg): return svg.get('viewBox').strip().replace(',', ' ').split() @@ -96,6 +98,7 @@ def get_doc_size(svg): return doc_width, doc_height + @cache def get_viewbox_transform(node): # somewhat cribbed from inkscape-silhouette |
