From cdbcedc6ec2b6f7b8713870aaa141bf2875295ef Mon Sep 17 00:00:00 2001 From: Sergey Vartanov Date: Fri, 19 Aug 2022 10:56:54 +0300 Subject: [PATCH] Add error handling for SVG parsing. --- map_machine/pictogram/icon.py | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/map_machine/pictogram/icon.py b/map_machine/pictogram/icon.py index 591579c..7d39d28 100644 --- a/map_machine/pictogram/icon.py +++ b/map_machine/pictogram/icon.py @@ -310,10 +310,12 @@ class ShapeExtractor: id_: str = node.attrib["id"] if STANDARD_INKSCAPE_ID_MATCHER.match(id_) is not None: if not verify_sketch_element(node, id_): - logging.warning( - f"Not verified SVG element `{id_}`, " - f"{node.attrib['d'].split(' ')[:3]}." - ) + path_part = "" + try: + path_part = f", {node.attrib['d'].split(' ')[:3]}." + except (KeyError, ValueError): + pass + logging.warning(f"Not verified SVG element `{id_}`{path_part}") return if "d" in node.attrib and node.attrib["d"]: