Reduce function complexity of in types.py

This commit is contained in:
Edward Betts 2025-02-09 14:47:30 +01:00
parent bab1d25dd4
commit 938d8a5afe

View file

@ -73,20 +73,21 @@ class Trip:
return self.name
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 utils.as_date(travel["depart"]) != self.start:
place = travel["from"]
if place not in titles:
titles.append(place)
if travel["depart"] and utils.as_date(travel["depart"]) != self.end:
place = travel["to"]
if place not in titles:
titles.append(place)
] or self.titles_from_travel()
return format_list_with_ampersand(titles) or "[unnamed trip]"
def titles_from_travel(self) -> list[str]:
"""Titles from travel."""
titles = []
for travel in self.travel:
if not (depart := (travel["depart"] and utils.as_date(travel["depart"]))):
continue
for when, from_or_to in ((self.start, "from"), (self.end, "to")):
if depart != when and travel["from_or_to"] not in titles:
titles.append(travel["from_or_to"])
return titles
@property
def end(self) -> datetime.date | None:
"""End date for trip."""