diff --git a/agenda/types.py b/agenda/types.py index 293e977..84cbc59 100644 --- a/agenda/types.py +++ b/agenda/types.py @@ -29,13 +29,17 @@ class Trip: travel: list[StrDict] = field(default_factory=list) accommodation: list[StrDict] = field(default_factory=list) conferences: list[StrDict] = field(default_factory=list) + events: list[StrDict] = field(default_factory=list) @property def title(self) -> str: """Trip title.""" return ( - format_list_with_ampersand([conf["name"] for conf in self.conferences]) - or "[no conference]" + format_list_with_ampersand( + [conf["name"] for conf in self.conferences] + + [event["title"] for event in self.events] + ) + or "[unnamed trip]" ) @property @@ -60,7 +64,7 @@ class Trip: """Countries visited as part of trip, in order.""" seen: set[str] = set() items: list[Country] = [] - for item in self.conferences + self.accommodation: + for item in self.conferences + self.accommodation + self.events: if "country" not in item: continue if item["country"] in seen: diff --git a/templates/macros.html b/templates/macros.html index a9d7364..f7926e6 100644 --- a/templates/macros.html +++ b/templates/macros.html @@ -68,6 +68,8 @@ {% endmacro %} {% macro flight_row(item) %} + {% set full_flight_number = item.airline + item.flight_number %} + {% set url = "https://www.radarbox.com/data/flights/" + full_flight_number %}
{{ item.depart.strftime("%a, %d %b %Y") }}
{{ item.from }} → {{ item.to }}
{{ item.depart.strftime("%H:%M") }}
@@ -78,7 +80,9 @@ {% endif %}
{{ item.duration }}
-
{{ item.airline }}{{ item.flight_number }}
+
+ {{ full_flight_number }} +
{{ item.booking_reference }}
{% endmacro %} diff --git a/web_view.py b/web_view.py index 5cc1d89..2ee8b01 100755 --- a/web_view.py +++ b/web_view.py @@ -178,6 +178,7 @@ def build_trip_list() -> list[Trip]: "travel": travel_items, "accommodation": travel.parse_yaml("accommodation", data_dir), "conferences": travel.parse_yaml("conferences", data_dir), + "events": travel.parse_yaml("events", data_dir), } for key, item_list in data.items():