#!/usr/bin/env python3 import json import re spaces = re.compile(" +") # json list of station info, probably from hafas or something with open("stations.json") as f: data = json.load(f) fiddle = dict() for station in data: ds100 = spaces.sub(" ", station["ds100"]) if station["name"] in fiddle: fiddle[station["name"]]["ds100"].add(ds100) fiddle[station["name"]]["eva"] = min( int(station["eva"]), fiddle[station["name"]]["eva"] ) else: fiddle[station["name"]] = { "ds100": {ds100}, "eva": int(station["eva"]), } output = dict() for name, station in fiddle.items(): if station["eva"] < 8000000 or station["eva"] > 8100000 or station["ds100"] == "": # print(station["eva"], name) continue output[station["eva"]] = station["ds100"] for id, codes in output.items(): output[id] = ", ".join(codes) print("export const ds100 = ", end="") print(json.dumps(output, indent=2, ensure_ascii=False, sort_keys=True))