ctucx.git: trainsearch

web based trip-planner, fork of https://cyberchaos.dev/yuka/trainsearch

1 
2 
3 
4 
5 
6 
7 
8 
9 
10 
11 
12 
13 
14 
15 
16 
17 
18 
19 
20 
21 
22 
23 
24 
25 
26 
27 
28 
29 
30 
31 
32 
33 
34 
35 
36 
37 
38 
39 
#!/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))