From 067383fda80b7bbc66bf792275433df771910426 Mon Sep 17 00:00:00 2001 From: German Khokhlov Date: Thu, 5 Nov 2026 21:42:22 +0400 Subject: [PATCH] fix(datacenters): drop the redundant seen set and test skipped against exports The merge test now passes an exported newly tagged feature, so removing '- set(fresh)' from the skipped report fails it. --- scripts/build-datacenters-norway.py | 5 ++--- src/data/datacentersNorwayRefresh.test.mjs | 7 ++++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/scripts/build-datacenters-norway.py b/scripts/build-datacenters-norway.py index d1203f38d..3c5eb92dd 100644 --- a/scripts/build-datacenters-norway.py +++ b/scripts/build-datacenters-norway.py @@ -182,7 +182,7 @@ def feature_line(key, sequence, fresh): def merge(lines, fresh, rings, tagged): - out, seen, known, sequence = [], set(), set(), 0 + out, known, sequence = [], set(), 0 report = {'kept': 0, 'updated': [], 'removed': [], 'added': [], 'unexported': [], 'skipped': []} for line in lines: feature = json.loads(line) @@ -190,7 +190,6 @@ def merge(lines, fresh, rings, tagged): key = osm_key(feature) known.add(key) if key in fresh: - seen.add(key) old_tags = feature['properties']['tags'] if old_tags == fresh[key]['tags'] and same_geometry(feature['geometry'], fresh[key]['geometry']): out.append(line) @@ -208,7 +207,7 @@ def merge(lines, fresh, rings, tagged): report['removed'].append(key) continue out.append(line) - for key in sorted(set(fresh) - seen, key=lambda k: (k[0], int(k[1:]))): + for key in sorted(set(fresh) - known, key=lambda k: (k[0], int(k[1:]))): sequence += 1 out.append(feature_line(key, sequence, fresh[key])) report['added'].append(key) diff --git a/src/data/datacentersNorwayRefresh.test.mjs b/src/data/datacentersNorwayRefresh.test.mjs index 88527295b..99278769e 100644 --- a/src/data/datacentersNorwayRefresh.test.mjs +++ b/src/data/datacentersNorwayRefresh.test.mjs @@ -52,10 +52,11 @@ def line(osm_id, sequence): 'type': 'data_center', 'osm_id': osm_id}}) norway = [([(0, 0), (20, 0), (20, 80), (0, 80)], False)] lines = [line(7, 1), line(8, 2)] -out, report = merge(lines, {}, norway, {'w7', 'w12'}) -assert out == [lines[0]], out +fresh = {'w13': {'geometry': {'type': 'Polygon', 'coordinates': square}, 'tags': {'building': 'data_center'}}} +out, report = merge(lines, fresh, norway, {'w7', 'w12', 'w13'}) +assert out[0] == lines[0] and len(out) == 2, out assert report['unexported'] == ['w7'] and report['removed'] == ['w8'], report -assert report['skipped'] == ['w12'] and report['added'] == [], report +assert report['skipped'] == ['w12'] and report['added'] == ['w13'], report `, ); });