From f5fa2049a68f368d7c3b114aa6e9cf7d12e79e52 Mon Sep 17 00:00:00 2001 From: Sergey Vartanov Date: Sun, 4 Jul 2021 22:52:26 +0300 Subject: [PATCH] Fix ignored tags processing. --- roentgen/constructor.py | 6 ++++-- roentgen/scheme.py | 13 +++++++++++++ 2 files changed, 17 insertions(+), 2 deletions(-) diff --git a/roentgen/constructor.py b/roentgen/constructor.py index ba05b13..24fac19 100644 --- a/roentgen/constructor.py +++ b/roentgen/constructor.py @@ -11,9 +11,8 @@ from colour import Color from roentgen import ui from roentgen.color import get_gradient_color -from roentgen.figure import Building, StyledFigure, Road +from roentgen.figure import Building, Road, StyledFigure from roentgen.flinger import Flinger - # fmt: off from roentgen.icon import ( DEFAULT_SMALL_SHAPE_ID, Icon, IconSet, ShapeExtractor, ShapeSpecification @@ -24,6 +23,7 @@ from roentgen.osm_reader import ( from roentgen.point import Point from roentgen.scheme import DEFAULT_COLOR, LineStyle, Scheme from roentgen.util import MinMax + # fmt: on __author__ = "Sergey Vartanov" @@ -375,6 +375,8 @@ class Constructor: self.icon_extractor, tags, processed ) labels = self.scheme.construct_text(tags, "all", processed) + self.scheme.process_ignored(tags, processed) + point: Point = Point( icon_set, labels, tags, processed, flung, node.coordinates, priority=priority, draw_outline=draw_outline diff --git a/roentgen/scheme.py b/roentgen/scheme.py index d9f5d33..7255896 100644 --- a/roentgen/scheme.py +++ b/roentgen/scheme.py @@ -477,3 +477,16 @@ class Scheme: if matcher.is_matched(tags): return True return False + + def process_ignored( + self, tags: Dict[str, str], processed: Set[str] + ) -> None: + """ + Mark all ignored tag as processed. + + :param tags: input tag dictionary + :param processed: processed set + """ + for tag in tags: + if self.is_no_drawable(tag): + processed.add(tag)