diff --git a/agenda/data.py b/agenda/data.py
index 4bbd76f..c1f6f4d 100644
--- a/agenda/data.py
+++ b/agenda/data.py
@@ -182,8 +182,11 @@ 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),
+ time_function(
+ "gwr_advance_tickets", gwr.advance_ticket_date, data_dir, offline_mode
+ ),
time_function(
"backwell_bins",
n_somerset_waste_collection_events,
diff --git a/agenda/gwr.py b/agenda/gwr.py
index 750af90..cc7e968 100644
--- a/agenda/gwr.py
+++ b/agenda/gwr.py
@@ -48,11 +48,13 @@ def extract_weekday_date(html: str) -> date | None:
return None
-async def advance_tickets_page_html(data_dir: str, ttl: int = 60 * 60 * 6) -> str:
+async def advance_tickets_page_html(
+ data_dir: str, ttl: int = 60 * 60 * 6, force_cache: bool = False
+) -> 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 (time() - mtime) < ttl: # use cache
+ if force_cache or (time() - mtime) < ttl: # use cache
return open(filename).read()
async with httpx.AsyncClient() as client:
r = await client.get(url)
@@ -61,7 +63,7 @@ async def advance_tickets_page_html(data_dir: str, ttl: int = 60 * 60 * 6) -> st
return html
-async def advance_ticket_date(data_dir: str) -> date | None:
+async def advance_ticket_date(data_dir: str, force_cache: bool = False) -> date | None:
"""Get GWR advance tickets date with cache."""
- html = await advance_tickets_page_html(data_dir)
+ html = await advance_tickets_page_html(data_dir, force_cache=force_cache)
return extract_weekday_date(html)
diff --git a/templates/conference_list.html b/templates/conference_list.html
index b46376e..e24146e 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, "went") }}
+ {{ section("Past", past|reverse|list, "went") }}
diff --git a/templates/trip_list.html b/templates/trip_list.html
deleted file mode 100644
index 8a497f9..0000000
--- a/templates/trip_list.html
+++ /dev/null
@@ -1,138 +0,0 @@
-{% 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 b5270f9..a73a1b1 100755
--- a/web_view.py
+++ b/web_view.py
@@ -379,41 +379,6 @@ 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."""