Compare commits
2 commits
cf298f261f
...
259642ff52
Author | SHA1 | Date | |
---|---|---|---|
Edward Betts | 259642ff52 | ||
Edward Betts | 6e9604e4c1 |
|
@ -39,6 +39,7 @@
|
||||||
} %}
|
} %}
|
||||||
|
|
||||||
|
|
||||||
|
{% from "macros.html" import trip_link, display_date_no_year with context %}
|
||||||
|
|
||||||
{% from "navbar.html" import navbar with context %}
|
{% from "navbar.html" import navbar with context %}
|
||||||
<body>
|
<body>
|
||||||
|
@ -79,6 +80,19 @@
|
||||||
<p>{{ market }}</p>
|
<p>{{ market }}</p>
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
|
|
||||||
|
{% if current_trip %}
|
||||||
|
{% set end = current_trip.end %}
|
||||||
|
<div>
|
||||||
|
<div>Current trip: {{ trip_link(current_trip) }}</div>
|
||||||
|
{% if end %}
|
||||||
|
<div>Dates: {{ display_date_no_year(current_trip.start) }} to {{ display_date_no_year(end) }}</div>
|
||||||
|
{% else %}
|
||||||
|
<div>Start: {{ display_date_no_year(current_trip.start) }} (end date missing)</div>
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
|
</div>
|
||||||
|
{% endif %}
|
||||||
|
|
||||||
<h3>Agenda</h3>
|
<h3>Agenda</h3>
|
||||||
|
|
||||||
<div>
|
<div>
|
||||||
|
|
23
web_view.py
23
web_view.py
|
@ -68,6 +68,19 @@ def exception_handler(e: werkzeug.exceptions.InternalServerError) -> tuple[str,
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
|
def get_current_trip(today: date) -> Trip | None:
|
||||||
|
"""Get current trip."""
|
||||||
|
trip_list = get_trip_list(route_distances=None)
|
||||||
|
|
||||||
|
current = [
|
||||||
|
item
|
||||||
|
for item in trip_list
|
||||||
|
if item.start <= today and (item.end or item.start) >= today
|
||||||
|
]
|
||||||
|
assert len(current) < 2
|
||||||
|
return current[0] if current else None
|
||||||
|
|
||||||
|
|
||||||
@app.route("/")
|
@app.route("/")
|
||||||
async def index() -> str:
|
async def index() -> str:
|
||||||
"""Index page."""
|
"""Index page."""
|
||||||
|
@ -87,6 +100,7 @@ async def index() -> str:
|
||||||
"event_list.html",
|
"event_list.html",
|
||||||
today=now.date(),
|
today=now.date(),
|
||||||
events=events,
|
events=events,
|
||||||
|
current_trip=get_current_trip(now.date()),
|
||||||
fullcalendar_events=calendar.build_events(events),
|
fullcalendar_events=calendar.build_events(events),
|
||||||
start_event_list=date.today() - timedelta(days=1),
|
start_event_list=date.today() - timedelta(days=1),
|
||||||
end_event_list=date.today() + timedelta(days=365 * 2),
|
end_event_list=date.today() + timedelta(days=365 * 2),
|
||||||
|
@ -242,11 +256,6 @@ def travel_list() -> str:
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
||||||
def as_date(d: date | datetime) -> date:
|
|
||||||
"""Date of event."""
|
|
||||||
return d.date() if isinstance(d, datetime) else d
|
|
||||||
|
|
||||||
|
|
||||||
def build_conference_list() -> list[StrDict]:
|
def build_conference_list() -> list[StrDict]:
|
||||||
"""Build conference list."""
|
"""Build conference list."""
|
||||||
data_dir = app.config["PERSONAL_DATA"]
|
data_dir = app.config["PERSONAL_DATA"]
|
||||||
|
@ -260,8 +269,8 @@ def build_conference_list() -> list[StrDict]:
|
||||||
conference_trip_lookup[key] = trip
|
conference_trip_lookup[key] = trip
|
||||||
|
|
||||||
for conf in items:
|
for conf in items:
|
||||||
conf["start_date"] = as_date(conf["start"])
|
conf["start_date"] = agenda.utils.as_date(conf["start"])
|
||||||
conf["end_date"] = as_date(conf["end"])
|
conf["end_date"] = agenda.utils.as_date(conf["end"])
|
||||||
|
|
||||||
price = conf.get("price")
|
price = conf.get("price")
|
||||||
if price:
|
if price:
|
||||||
|
|
Loading…
Reference in a new issue