diff --git a/agenda/data.py b/agenda/data.py index 056f508..b64ed9f 100644 --- a/agenda/data.py +++ b/agenda/data.py @@ -35,7 +35,7 @@ from . import ( uk_holiday, waste_schedule, ) -from .types import Event +from .types import Event, StrDict here = dateutil.tz.tzlocal() @@ -128,9 +128,27 @@ def hide_markets_while_away( events.remove(market) -async def get_data( - now: datetime, config: flask.config.Config -) -> typing.Mapping[str, str | object]: +class AgendaData(typing.TypedDict, total=False): + """Agenda Data.""" + + now: datetime + stock_markets: list[str] + rockets: list[thespacedevs.Summary] + gwr_advance_tickets: date | None + data_gather_seconds: float + stock_market_times_seconds: float + timings: list[tuple[str, float]] + events: list[Event] + accommodation_events: list[Event] + gaps: list[StrDict] + sunrise: datetime + sunset: datetime + last_week: date + two_weeks_ago: date + errors: list[tuple[str, Exception]] + + +async def get_data(now: datetime, config: flask.config.Config) -> AgendaData: """Get data to display on agenda dashboard.""" data_dir = config["DATA_DIR"] @@ -176,7 +194,7 @@ async def get_data( stock_market_times = stock_market.open_and_close() stock_market_times_seconds = time() - t0 - reply: dict[str, typing.Any] = { + reply: AgendaData = { "now": now, "stock_markets": stock_market_times, "rockets": rockets, @@ -228,9 +246,6 @@ async def get_data( events += hn.whoishiring(last_year, next_year) events += carnival.rio_carnival_events(last_year, next_year) - if config["HIDE_MARKETS_WHILE_AWAY"]: - hide_markets_while_away(events, accommodation_events) - for launch in rockets: dt = None @@ -281,10 +296,10 @@ async def get_data( reply["sunrise"] = sun.sunrise(observer) reply["sunset"] = sun.sunset(observer) reply["events"] = events + reply["accommodation_events"] = accommodation_events reply["last_week"] = last_week reply["two_weeks_ago"] = two_weeks_ago - reply["fullcalendar_events"] = calendar.build_events(events) reply["errors"] = errors return reply diff --git a/templates/index.html b/templates/index.html index 9b719a3..bed0a9f 100644 --- a/templates/index.html +++ b/templates/index.html @@ -144,6 +144,13 @@