diff --git a/agenda/__init__.py b/agenda/__init__.py index 7993a6b..d90359c 100644 --- a/agenda/__init__.py +++ b/agenda/__init__.py @@ -1,6 +1,5 @@ import configparser import json -import operator import os import typing import warnings @@ -97,12 +96,12 @@ def next_uk_fathers_day(input_date: date) -> date: return fathers_day -def get_next_timezone_transition(tz_name: str) -> date: +def get_next_timezone_transition(tz_name: str) -> datetime: """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(date, dt.date()) + return typing.cast(datetime, dt) def get_next_bank_holiday() -> dict[str, date | str]: @@ -277,8 +276,9 @@ 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,24 +290,4 @@ 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 diff --git a/templates/index.html b/templates/index.html index c5601a9..878042d 100644 --- a/templates/index.html +++ b/templates/index.html @@ -1,30 +1,12 @@ -{# vim: set ft=htmljinja -#} Agenda - + -{% set event_labels = { - "next_economist": "The Economist", - "mothers_day": "Mothers' day", - "fathers_day": "Fathers' day", - "uk_financial_year_end": "End of financial year", - "bank_holiday": "UK bank holiday", - "us_holiday": "US holiday", - "uk_clock_change": "UK clock change", - "us_clock_change": "US clock change", - "next_us_presidential_election": "US pres. election", - "xmas_last_second": "Christmas last posting 2nd class", - "xmas_last_first": "Christmas last posting 1st class", - "xmas_day": "Christmas day", -} -%} -
@@ -35,7 +17,7 @@
  • GBPUSD: {{"{:,.3f}".format(gbpusd)}}
  • {#
  • lock down: {{"{:.1f}".format(lockdown_days)}} days - ({{"{:.2f}".format(lockdown_days / 7)}} weeks) so far
  • + ({{"{:.2f}".format(lockdown_days / 7)}} weeks) so far #}
  • The Economist: {{days(next_economist)}} (Thursday)
  • Mothers' day: @@ -61,17 +43,17 @@ {{us_holiday["title"]}}
  • UK clock change: - {{days(uk_clock_change)}} + {{days(uk_clock_change.date())}} {{uk_clock_change.strftime("%a, %d, %b %Y")}}
  • US clock change: - {{days(us_clock_change)}} + {{days(us_clock_change.date())}} {{us_clock_change.strftime("%a, %d, %b %Y")}}
  • + {#
  • general election: {{days(next_uk_general_election)}} - {{next_uk_general_election.strftime("%a, %d %b %Y")}}
  • - + {{next_uk_general_election.strftime("%a, %d %b %Y")}} #}
  • US pres. election: {{days(next_us_presidential_election)}} {{next_us_presidential_election.strftime("%a, %d %b %Y")}}
  • @@ -88,27 +70,9 @@ {{days(xmas_day)}} {{xmas_day.strftime("%a, %d %b %Y")}} - #} - - - {% for event in events %} - - - - - {% endfor %} -
    - {{event.date.strftime("%a, %d, %b %Y")}} - - {{ event_labels[event.name] }} - {%- if "title" in event -%}: {{ event.title }}{% endif %} - - {{ days(event.date) }} -
    -

    Stock markets

    {% for market in stock_markets %}

    {{ market }}

    @@ -149,7 +113,5 @@
    -
    {{ events | pprint }}
    - diff --git a/web_view.py b/web_view.py index dbc812f..e2e9da9 100755 --- a/web_view.py +++ b/web_view.py @@ -25,7 +25,7 @@ def index() -> str: return f"{delta.days:>5,d} days {delta.seconds // 3600:>2.0f} hours" def days(when: date) -> str: - return "today" if when == today else f"{(when - today).days:,d} days" + return " today" if when == today else f"{(when - today).days:>5,d} days" return render_template("index.html", days=days, days_hours=days_hours, **data)