Compare commits

...

3 commits

Author SHA1 Message Date
Edward Betts 85ebaf7c84 Show indivudal train legs 2024-05-18 14:23:00 +02:00
Edward Betts 5b2d248955 Use proper arrow in ferry title 2024-05-18 14:22:35 +02:00
Edward Betts f1a472a944 Better airport labels 2024-05-18 14:22:08 +02:00

View file

@ -43,6 +43,12 @@ class TripElement:
detail: StrDict
def airport_label(airport: StrDict) -> str:
"""Airport label: name and iata."""
name = airport.get("alt_name") or airport["city"]
return f"{name} ({airport['iata']})"
@dataclass
class Trip:
"""Trip."""
@ -204,12 +210,9 @@ class Trip:
for item in self.travel:
if item["type"] == "flight":
flight_from = item["from_airport"]
flight_to = item["to_airport"]
name = (
"✈️ "
+ f"{flight_from['name']} ({flight_from['iata']}) -> "
+ f"{flight_to['name']} ({flight_to['iata']})"
f"✈️ {airport_label(item['from_airport'])}"
+ f"{airport_label(item['to_airport'])}"
)
elements.append(
@ -221,17 +224,18 @@ class Trip:
)
)
if item["type"] == "train":
name = f"{item['from']} -> {item['to']}"
elements.append(
TripElement(
when=item["depart"],
title=name,
detail=item,
element_type="train",
for leg in item["legs"]:
name = f"{leg['from']}{leg['to']}"
elements.append(
TripElement(
when=leg["depart"],
title=name,
detail=leg,
element_type="train",
)
)
)
if item["type"] == "ferry":
name = f"{item['from']} -> {item['to']}"
name = f"{item['from']} {item['to']}"
elements.append(
TripElement(
when=item["depart"],