Add option for unpublished trips
This commit is contained in:
parent
e3cae68d2f
commit
d690442f0f
3 changed files with 30 additions and 4 deletions
|
|
@ -67,6 +67,10 @@ def build_trip_list(data_dir: str | None = None) -> list[Trip]:
|
|||
if data_dir is None:
|
||||
data_dir = flask.current_app.config["PERSONAL_DATA"]
|
||||
|
||||
yaml_trip_list = travel.parse_yaml("trips", data_dir)
|
||||
|
||||
yaml_trip_lookup = {item["trip"]: item for item in yaml_trip_list}
|
||||
|
||||
travel_items = sorted(
|
||||
load_flights(data_dir) + load_trains(data_dir), key=depart_datetime
|
||||
)
|
||||
|
|
@ -84,7 +88,10 @@ def build_trip_list(data_dir: str | None = None) -> list[Trip]:
|
|||
if not (start := item.get("trip")):
|
||||
continue
|
||||
if start not in trips:
|
||||
trips[start] = Trip(start=start)
|
||||
from_yaml = yaml_trip_lookup.get(start, {})
|
||||
trips[start] = Trip(
|
||||
start=start, **{k: v for k, v in from_yaml.items() if k != "trip"}
|
||||
)
|
||||
getattr(trips[start], key).append(item)
|
||||
|
||||
return [trip for _, trip in sorted(trips.items())]
|
||||
|
|
|
|||
|
|
@ -30,10 +30,14 @@ class Trip:
|
|||
accommodation: list[StrDict] = field(default_factory=list)
|
||||
conferences: list[StrDict] = field(default_factory=list)
|
||||
events: list[StrDict] = field(default_factory=list)
|
||||
name: str | None = None
|
||||
private: bool = False
|
||||
|
||||
@property
|
||||
def title(self) -> str:
|
||||
"""Trip title."""
|
||||
if self.name:
|
||||
return self.name
|
||||
titles: list[str] = [conf["name"] for conf in self.conferences] + [
|
||||
event["title"] for event in self.events
|
||||
]
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue