Add UnknownStation Exception
This commit is contained in:
parent
d690442f0f
commit
826eafbc86
|
@ -9,6 +9,12 @@ from agenda import travel
|
||||||
from agenda.types import StrDict, Trip
|
from agenda.types import StrDict, Trip
|
||||||
|
|
||||||
|
|
||||||
|
class UnknownStation(Exception):
|
||||||
|
"""Unknown station."""
|
||||||
|
|
||||||
|
pass
|
||||||
|
|
||||||
|
|
||||||
def load_travel(travel_type: str, data_dir: str) -> list[StrDict]:
|
def load_travel(travel_type: str, data_dir: str) -> list[StrDict]:
|
||||||
"""Read flight and train journeys."""
|
"""Read flight and train journeys."""
|
||||||
items = travel.parse_yaml(travel_type + "s", data_dir)
|
items = travel.parse_yaml(travel_type + "s", data_dir)
|
||||||
|
@ -24,8 +30,10 @@ def load_trains(data_dir: str) -> list[StrDict]:
|
||||||
by_name = {station["name"]: station for station in stations}
|
by_name = {station["name"]: station for station in stations}
|
||||||
|
|
||||||
for train in trains:
|
for train in trains:
|
||||||
assert train["from"] in by_name
|
if train["from"] not in by_name:
|
||||||
assert train["to"] in by_name
|
raise UnknownStation(train["from"])
|
||||||
|
if train["to"] not in by_name:
|
||||||
|
raise UnknownStation(train["to"])
|
||||||
train["from_station"] = by_name[train["from"]]
|
train["from_station"] = by_name[train["from"]]
|
||||||
train["to_station"] = by_name[train["to"]]
|
train["to_station"] = by_name[train["to"]]
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue