parent
81d7d62620
commit
e56cf111e8
3 changed files with 68 additions and 10 deletions
|
|
@ -1,5 +1,6 @@
|
|||
import configparser
|
||||
import json
|
||||
import operator
|
||||
import os
|
||||
import typing
|
||||
import warnings
|
||||
|
|
@ -96,12 +97,12 @@ def next_uk_fathers_day(input_date: date) -> date:
|
|||
return fathers_day
|
||||
|
||||
|
||||
def get_next_timezone_transition(tz_name: str) -> datetime:
|
||||
def get_next_timezone_transition(tz_name: str) -> date:
|
||||
"""Datetime of the next time the clocks change."""
|
||||
tz = pytz.timezone(tz_name)
|
||||
dt = next(t for t in tz._utc_transition_times if t > now)
|
||||
|
||||
return typing.cast(datetime, dt)
|
||||
return typing.cast(date, dt.date())
|
||||
|
||||
|
||||
def get_next_bank_holiday() -> dict[str, date | str]:
|
||||
|
|
@ -276,9 +277,8 @@ def get_data() -> dict[str, str | object]:
|
|||
"next_economist": next_economist(today),
|
||||
"bank_holiday": get_next_bank_holiday(),
|
||||
"us_holiday": get_us_holiday(),
|
||||
"next_uk_general_election": next_uk_general_election,
|
||||
# "next_uk_general_election": next_uk_general_election,
|
||||
"next_us_presidential_election": next_us_presidential_election,
|
||||
# "spacex": spacexdata.get_next_spacex_launch(limit=20),
|
||||
"stock_markets": stock_markets(),
|
||||
"uk_clock_change": get_next_timezone_transition("Europe/London"),
|
||||
"us_clock_change": get_next_timezone_transition("America/New_York"),
|
||||
|
|
@ -290,4 +290,24 @@ def get_data() -> dict[str, str | object]:
|
|||
"rockets": thespacedevs.get_launches(rocket_dir, limit=40),
|
||||
}
|
||||
|
||||
skip = {"now", "gbpusd", "rockets", "stock_markets", "xmas_last_posting_dates"}
|
||||
events = []
|
||||
for key, value in reply.items():
|
||||
if key in skip:
|
||||
continue
|
||||
if "holiday" in key:
|
||||
assert isinstance(value, dict)
|
||||
event = value
|
||||
event["name"] = key
|
||||
else:
|
||||
event = {"name": key, "date": value}
|
||||
events.append(event)
|
||||
|
||||
for key, value in xmas_last_posting_dates.items():
|
||||
events.append({"name": f"xmas_last_{key}", "date": value})
|
||||
|
||||
events.sort(key=operator.itemgetter("date"))
|
||||
|
||||
reply["events"] = events
|
||||
|
||||
return reply
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue