parent
aafd37ab5a
commit
2e785579f3
|
@ -325,6 +325,46 @@ def get_birthdays(from_date: date, config: configparser.ConfigParser) -> list[Ev
|
|||
return events
|
||||
|
||||
|
||||
def get_travel(from_date: date, config: configparser.ConfigParser) -> list[Event]:
|
||||
"""Get birthdays from config."""
|
||||
filename = config["data"]["travel"]
|
||||
|
||||
events = []
|
||||
with open(filename) as f:
|
||||
items = yaml.safe_load(f)
|
||||
|
||||
for item in items:
|
||||
if item["type"] == "accommodation":
|
||||
title = (
|
||||
f'{item["location"]} Airbnb'
|
||||
if item["operator"] == "airbnb"
|
||||
else item["name"]
|
||||
)
|
||||
from_date = item["from"]
|
||||
to_date = item["to"]
|
||||
nights = (to_date - from_date).days
|
||||
night_str = f"{nights} nights" if nights != 1 else "1 night"
|
||||
checkin = Event(
|
||||
date=from_date,
|
||||
name="accommodation",
|
||||
title=f"check-in {title} ({night_str})",
|
||||
)
|
||||
checkout = Event(
|
||||
date=to_date, name="accommodation", title="check-out " + title
|
||||
)
|
||||
events += [checkin, checkout]
|
||||
continue
|
||||
if item["type"] == "transport":
|
||||
event = Event(
|
||||
date=datetime.fromisoformat(item["depart"]).date(),
|
||||
name="transport",
|
||||
title=f'{item["transport_type"]} from {item["from"]} to {item["to"]}',
|
||||
)
|
||||
events.append(event)
|
||||
|
||||
return events
|
||||
|
||||
|
||||
def waste_collection_events() -> list[Event]:
|
||||
"""Waste colllection events."""
|
||||
postcode = "BS48 3HG"
|
||||
|
@ -375,6 +415,7 @@ def get_data(now: datetime) -> dict[str, str | object]:
|
|||
events.append(Event(name=f"xmas_last_{key}", date=value))
|
||||
|
||||
events += get_birthdays(today, config)
|
||||
events += get_travel(today, config)
|
||||
events += get_conferences(today, "conferences.yaml")
|
||||
events += waste_collection_events()
|
||||
|
||||
|
|
Loading…
Reference in a new issue