diff --git a/agenda/types.py b/agenda/types.py index 608a6fb..cb4f505 100644 --- a/agenda/types.py +++ b/agenda/types.py @@ -34,13 +34,21 @@ class Trip: @property def title(self) -> str: """Trip title.""" - return ( - format_list_with_ampersand( - [conf["name"] for conf in self.conferences] - + [event["title"] for event in self.events] - ) - or "[unnamed trip]" - ) + titles: list[str] = [conf["name"] for conf in self.conferences] + [ + event["title"] for event in self.events + ] + if not titles: + for travel in self.travel: + if travel["depart"] and travel["depart"].date() != self.start: + place = travel["from"] + if place not in titles: + titles.append(place) + if travel["depart"] and travel["depart"].date() != self.end: + place = travel["to"] + if place not in titles: + titles.append(place) + + return format_list_with_ampersand(titles) or "[unnamed trip]" @property def end(self) -> datetime.date | None: