lines can be long
Deploy PBT / deploy (push) Successful in 28s

This commit is contained in:
2026-09-10 22:51:46 +02:00
parent 3535ebcba0
commit 36d97f5e79
3 changed files with 13 additions and 6 deletions
+11 -5
View File
@@ -17,6 +17,7 @@ import csv
import gzip
import json
import math
import re
import sys
import time
import unicodedata
@@ -227,12 +228,17 @@ def fetch_route_members() -> tuple[list[tuple[str, int]], dict[int, tuple[str, f
if el["id"] in seen_rel:
continue
seen_rel.add(el["id"])
ref = (el.get("tags", {}).get("ref") or "").strip()
if not ref:
# A few relations pack several numbers into one ref ("407, 413").
refs = [r.strip() for r in re.split(r"[;,]", el["tags"]["ref"]) if r.strip()]
if not refs:
continue
for m in el.get("members", []):
if m["type"] == "node" and m["role"] in STOP_ROLES:
ref_members.append((ref, m["ref"]))
members = [
m["ref"] for m in el.get("members", [])
if m["type"] == "node" and m["role"] in STOP_ROLES
]
for ref in refs:
for node_id in members:
ref_members.append((ref, node_id))
del payload
print(f" {len(seen_rel)} routes, {len(ref_members)} stop memberships", file=sys.stderr)