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 return self.name
titles: list[str] = [conf["name"] for conf in self.conferences] + [ titles: list[str] = [conf["name"] for conf in self.conferences] + [
event["title"] for event in self.events event["title"] for event in self.events
] ] or self.titles_from_travel()
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)
return format_list_with_ampersand(titles) or "[unnamed trip]" 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 @property
def end(self) -> datetime.date | None: def end(self) -> datetime.date | None:
"""End date for trip.""" """End date for trip."""