parent
5c51751111
commit
0321d9d283
|
@ -105,7 +105,7 @@ def get_us_holidays(start_date: date, end_date: date) -> list[Event]:
|
|||
for year in range(start_date.year, end_date.year + 1):
|
||||
hols = holidays.UnitedStates(years=year)
|
||||
found += [
|
||||
Event(name="us_holiday", date=hol_date, title=title)
|
||||
Event(name="us_holiday", date=hol_date, title=title.replace("'", "’"))
|
||||
for hol_date, title in hols.items()
|
||||
if start_date < hol_date < end_date
|
||||
]
|
||||
|
@ -164,6 +164,21 @@ async def bristol_waste_collection_events(
|
|||
return await waste_schedule.get_bristol_gov_uk(start_date, data_dir, uprn)
|
||||
|
||||
|
||||
def combine_holidays(events: list[Event]) -> list[Event]:
|
||||
combined: dict[tuple[date, str], Event] = {}
|
||||
|
||||
for e in events:
|
||||
assert isinstance(e.title, str) and isinstance(e.date, date)
|
||||
event_key = (e.date, e.title)
|
||||
combined[event_key] = (
|
||||
Event(name="bank_holiday", date=e.date, title=e.title + " (UK & US)")
|
||||
if event_key in combined
|
||||
else e
|
||||
)
|
||||
|
||||
return list(combined.values())
|
||||
|
||||
|
||||
async def get_data(now: datetime) -> typing.Mapping[str, str | object]:
|
||||
"""Get data to display on agenda dashboard."""
|
||||
config_filename = os.path.join(os.path.dirname(__file__), "..", "config")
|
||||
|
@ -205,8 +220,6 @@ async def get_data(now: datetime) -> typing.Mapping[str, str | object]:
|
|||
"now": now,
|
||||
"gbpusd": gbpusd,
|
||||
"economist": economist.publication_dates(last_year, next_year),
|
||||
"bank_holiday": bank_holiday,
|
||||
"us_holiday": get_us_holidays(last_year, next_year),
|
||||
"next_us_presidential_election": next_us_presidential_election,
|
||||
"stock_markets": stock_market.open_and_close(),
|
||||
"uk_clock_change": timezone_transition(
|
||||
|
@ -254,6 +267,8 @@ async def get_data(now: datetime) -> typing.Mapping[str, str | object]:
|
|||
)
|
||||
)
|
||||
|
||||
events += combine_holidays(bank_holiday + get_us_holidays(last_year, next_year))
|
||||
|
||||
my_data = config["data"]["personal-data"]
|
||||
events += birthday.get_birthdays(last_year, os.path.join(my_data, "entities.yaml"))
|
||||
events += accommodation.get_events(os.path.join(my_data, "accommodation.yaml"))
|
||||
|
|
Loading…
Reference in a new issue