diff --git a/agenda/data.py b/agenda/data.py
index c1f6f4d..4bbd76f 100644
--- a/agenda/data.py
+++ b/agenda/data.py
@@ -182,11 +182,8 @@ async def get_data(now: datetime, config: flask.config.Config) -> AgendaData:
plus_365 = now + timedelta(days=365)
t0 = time()
- offline_mode = bool(config.get("OFFLINE_MODE"))
result_list = await asyncio.gather(
- time_function(
- "gwr_advance_tickets", gwr.advance_ticket_date, data_dir, offline_mode
- ),
+ time_function("gwr_advance_tickets", gwr.advance_ticket_date, data_dir),
time_function(
"backwell_bins",
n_somerset_waste_collection_events,
diff --git a/agenda/gwr.py b/agenda/gwr.py
index cc7e968..750af90 100644
--- a/agenda/gwr.py
+++ b/agenda/gwr.py
@@ -48,13 +48,11 @@ def extract_weekday_date(html: str) -> date | None:
return None
-async def advance_tickets_page_html(
- data_dir: str, ttl: int = 60 * 60 * 6, force_cache: bool = False
-) -> str:
+async def advance_tickets_page_html(data_dir: str, ttl: int = 60 * 60 * 6) -> str:
"""Get advance-tickets web page HTML with cache."""
filename = os.path.join(data_dir, "advance-tickets.html")
mtime = os.path.getmtime(filename) if os.path.exists(filename) else 0
- if force_cache or (time() - mtime) < ttl: # use cache
+ if (time() - mtime) < ttl: # use cache
return open(filename).read()
async with httpx.AsyncClient() as client:
r = await client.get(url)
@@ -63,7 +61,7 @@ async def advance_tickets_page_html(
return html
-async def advance_ticket_date(data_dir: str, force_cache: bool = False) -> date | None:
+async def advance_ticket_date(data_dir: str) -> date | None:
"""Get GWR advance tickets date with cache."""
- html = await advance_tickets_page_html(data_dir, force_cache=force_cache)
+ html = await advance_tickets_page_html(data_dir)
return extract_weekday_date(html)
diff --git a/templates/conference_list.html b/templates/conference_list.html
index e24146e..b46376e 100644
--- a/templates/conference_list.html
+++ b/templates/conference_list.html
@@ -43,7 +43,7 @@
{{ section("Current", current, "attending") }}
{{ section("Future", future, "going") }}
- {{ section("Past", past|reverse|list, "went") }}
+ {{ section("Past", past|reverse, "went") }}
diff --git a/templates/trip_list.html b/templates/trip_list.html
new file mode 100644
index 0000000..8a497f9
--- /dev/null
+++ b/templates/trip_list.html
@@ -0,0 +1,138 @@
+{% extends "base.html" %}
+
+{% from "macros.html" import trip_link, display_date_no_year, display_date, conference_row, accommodation_row, flight_row, train_row, ferry_row with context %}
+
+{% set row = { "flight": flight_row, "train": train_row, "ferry": ferry_row } %}
+
+{% block title %}Trips - Edward Betts{% endblock %}
+
+{% block style %}
+
+
+
+{% set conference_column_count = 8 %}
+{% set accommodation_column_count = 8 %}
+{% set travel_column_count = 10 %}
+
+{% endblock %}
+
+{% macro section(heading, item_list, badge) %}
+ {% if item_list %}
+ {% set items = item_list | list %}
+ {{ heading }}
+ {{ items | count }} trips
+ {% for trip in items %}
+ {% set total_distance = trip.total_distance() %}
+ {% set end = trip.end %}
+
+
+ {{ trip_link(trip) }}
+ ({{ display_date(trip.start) }})
+
Countries: {{ trip.countries_str }}
+ {% if end %}
+
Dates: {{ display_date_no_year(trip.start) }} to {{ display_date_no_year(end) }}
+ {% else %}
+
Start: {{ display_date_no_year(trip.start) }} (end date missing)
+ {% endif %}
+ {% if total_distance %}
+
Total distance:
+ {{ "{:,.0f} km / {:,.0f} miles".format(total_distance, total_distance / 1.60934) }}
+
+ {% endif %}
+
+ {% for conf in trip.conferences %}
+ {{ conference_row(conf, "going") }}
+ {% endfor %}
+
+
+
+ {% for conf in trip.accommodation %}
+ {{ accommodation_row(conf, "going") }}
+ {% endfor %}
+
+
+
+ {% for item in trip.travel %}
+ {{ row[item.type](item) }}
+ {% endfor %}
+
+
+ {% endfor %}
+ {% endif %}
+{% endmacro %}
+
+
+{% block content %}
+
+
+
+
Trips
+
+
+
+
+ {{ section("Current", current, "attending") }}
+ {{ section("Future", future, "going") }}
+
+
+
+ {{ section("Past", past|reverse, "went") }}
+
+{% endblock %}
+
+{% block scripts %}
+
+
+
+
+
+
+
+{% endblock %}
diff --git a/web_view.py b/web_view.py
index a73a1b1..b5270f9 100755
--- a/web_view.py
+++ b/web_view.py
@@ -379,6 +379,41 @@ def get_trip_list(
]
+@app.route("/trip/old")
+def trip_old_list() -> str:
+ """Page showing a list of trips."""
+ route_distances = agenda.travel.load_route_distances(app.config["DATA_DIR"])
+ trip_list = get_trip_list(route_distances)
+ today = date.today()
+
+ current = [
+ item
+ for item in trip_list
+ if item.start <= today and (item.end or item.start) >= today
+ ]
+
+ past = [item for item in trip_list if (item.end or item.start) < today]
+ future = [item for item in trip_list if item.start > today]
+
+ future_coordinates, future_routes = agenda.trip.get_coordinates_and_routes(future)
+ past_coordinates, past_routes = agenda.trip.get_coordinates_and_routes(past)
+
+ return flask.render_template(
+ "trip_list.html",
+ current=current,
+ past=past,
+ future=future,
+ future_coordinates=future_coordinates,
+ future_routes=future_routes,
+ past_coordinates=past_coordinates,
+ past_routes=past_routes,
+ today=today,
+ get_country=agenda.get_country,
+ format_list_with_ampersand=format_list_with_ampersand,
+ fx_rate=agenda.fx.get_rates(app.config),
+ )
+
+
@app.route("/trip")
def trip_list() -> werkzeug.Response:
"""Trip list to redirect to future trip list."""