From f1a472a944f444a6bc5924a369d99a8784341d1c Mon Sep 17 00:00:00 2001 From: Edward Betts Date: Sat, 18 May 2024 14:22:08 +0200 Subject: [PATCH 1/3] Better airport labels --- agenda/types.py | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/agenda/types.py b/agenda/types.py index 0f4c086..6770b46 100644 --- a/agenda/types.py +++ b/agenda/types.py @@ -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( From 5b2d2489553eb26b364df3da906be4ccadbcdf4b Mon Sep 17 00:00:00 2001 From: Edward Betts Date: Sat, 18 May 2024 14:22:35 +0200 Subject: [PATCH 2/3] Use proper arrow in ferry title --- agenda/types.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/agenda/types.py b/agenda/types.py index 6770b46..0bd4e36 100644 --- a/agenda/types.py +++ b/agenda/types.py @@ -234,7 +234,7 @@ class Trip: ) ) if item["type"] == "ferry": - name = f"{item['from']} -> {item['to']}" + name = f"{item['from']} → {item['to']}" elements.append( TripElement( when=item["depart"], From 85ebaf7c841806bf7562460e2e0552c8a26635d1 Mon Sep 17 00:00:00 2001 From: Edward Betts Date: Sat, 18 May 2024 14:23:00 +0200 Subject: [PATCH 3/3] Show indivudal train legs --- agenda/types.py | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/agenda/types.py b/agenda/types.py index 0bd4e36..50a2612 100644 --- a/agenda/types.py +++ b/agenda/types.py @@ -224,15 +224,16 @@ 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']}" elements.append(