Commit graph

716 commits

Author SHA1 Message Date
5e2fb72fef trip: use flight_destinations rules for unbooked routes 2026-03-02 13:16:32 +00:00
11ab5f6d28 trip: improve unbooked flight routing and airport pins 2026-03-02 13:09:06 +00:00
f0698acd59 Base trip timezone differences on trip dates and remove live local-time column 2026-02-26 15:31:13 +00:00
f2752383f2 Render UK time difference server-side and simplify trip timezone JS 2026-02-26 15:26:25 +00:00
701023db59 Adjust wording 2026-02-26 15:21:11 +00:00
d7e469a0ed Avoid stale timezonefinder cache when dependency is installed later 2026-02-26 15:19:09 +00:00
38cf270307 Improve coordinate timezone resolution with timezonefinder fallbacks 2026-02-26 15:15:37 +00:00
1ee1f38a99 Use coordinate-based timezone lookup for trip destinations 2026-02-26 14:57:20 +00:00
ec413ac310 Add destination time difference and live local times on trip pages
Closes #208
2026-02-26 14:50:54 +00:00
016039e78f Show current-year school holidays and add Bristol source link
Closes #209

Closes #210
2026-02-26 14:42:40 +00:00
1397805450 Validate bus journey data.
Closes #207
2026-02-24 20:51:01 +00:00
9f881d7177 Fix SpaceDevs rate-limiting and cache corruption from throttled responses
Don't write rate-limit/error responses to disk in next_launch_api_data,
so they can't become the "most recent" cache file and cause KeyError crashes
in read_cached_launches. Add defensive results-list checks in
read_cached_launches and get_launches to handle any existing bad files.

Drop refresh=True from the updater's get_active_crewed_flights call so the
2-hour TTL applies; the paginated spacecraft/flight crawl was running on
every hourly cron job and likely causing the burst that triggered throttling.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-21 20:50:05 +00:00
b4f0a5bf5d Add OpenWeatherMap weather forecasts. Closes #48
Show 8-day Bristol home weather on the index and weekends pages.
Show destination weather per day on the trip list and trip page.
Cache forecasts in ~/lib/data/weather/ and refresh via update.py.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-21 20:27:25 +00:00
61e17d9c96 Track dates of English school holidays
Fixes #168
2026-02-21 18:05:19 +00:00
7a50ea6016 Improve launch status UI and alert on SpaceDevs payload errors 2026-02-21 16:39:47 +00:00
458dfc5136 Refresh active crewed mission cache in updater
Closes #175
2026-02-21 16:08:45 +00:00
a275683f90 Keep active crewed missions on launches page 2026-02-21 16:00:52 +00:00
7cced919a2 Show full conference dates alongside partial attendance dates.
When attend_start or attend_end is set, display the full conference
date range in parentheses after the attended dates, e.g.
"Wed 6 Mar to Sun 10 Mar (full conference: Sun 3 Mar to Sun 10 Mar)".

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-18 18:23:33 +00:00
49e5a3000e Add attend_start/attend_end fields for partial conference attendance.
Allows recording when you arrive late or leave early at a multi-day
conference. Both fields accept a plain date or datetime with time.
Trip pages display the attendance dates instead of the official
conference dates when these fields are set.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-18 18:14:27 +00:00
2edfb40e66 Avoid crash when flight.co2_kg is not set. 2026-02-18 17:09:18 +00:00
84dfafefa1 Avoid crash when flight.co2_kg is not set. 2026-02-18 17:07:40 +00:00
53f4252b92 Refactor bus/coach loading and rendering to share code.
Extract `load_road_transport()` as a shared helper for bus and coach,
combining the near-identical route rendering blocks in `get_trip_routes`
and `Trip.elements()` into single `in ("coach", "bus")` branches.
Document transport type patterns in AGENTS.md.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-18 12:52:28 +00:00
c87320415f Show bus stops and coach stations on trip map.
Add case "bus" to get_locations() and bus route handling to
get_trip_routes() in trip.py. Coach stations now populate a dedicated
"coach_station" dict instead of the train station list. Add
"coach_station" (🚌) and "bus_stop" (🚏) emoji types to map.js.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-02-18 12:13:42 +00:00
363967b739 Fix bus stop parsing. 2026-02-18 09:47:08 +00:00
24f4c49429 Fix bus parsing. 2026-02-18 09:46:01 +00:00
3a786c4b04 Add bus journeys. 2026-02-18 09:43:02 +00:00
960b4a1fc7 Add bus journeys. 2026-02-18 09:39:51 +00:00
bc2c884589 Show flash messages on event list. 2026-02-17 11:34:40 +00:00
b835956ea9 Show bootstrap alert after login. 2026-02-17 11:30:03 +00:00
e0b9e4e719 Switch from UniAuth to OpenID Connect 2026-02-17 11:25:55 +00:00
1f026c31ca UniAuth 2026-02-17 11:10:46 +00:00
828cb40dfa Handle Year Half precision in launch date formatting
Closes: #172

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-03 11:55:17 +00:00
905c9c330d Redesign trip stats page with collapsible sections
Use Bootstrap cards and collapsible sections to make the long
lists of airlines, airports, and stations easier to read. Items
are now displayed as badges and hidden by default.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-03 09:30:58 +00:00
523dc78b35 Add overall airline, airport, and station stats to trip summary
Aggregate yearly stats into overall totals so the trip stats page
shows flight segments by airline, airports used, and stations used
in the summary section at the top.

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2026-02-03 09:25:10 +00:00
bc5e595bb0 Add airline, airport, and station stats 2026-01-15 23:05:39 +00:00
f22772d12d Move trip new-country filtering into stats 2026-01-15 22:53:17 +00:00
ddfa77b152 Fix mypy type errors in trip helpers 2026-01-15 22:53:10 +00:00
8a0df48a73 Fix trip stats new-country counting 2026-01-15 22:43:22 +00:00
91a74fd887 Add YAML output on debug page. 2025-11-14 16:16:54 +00:00
7e2b79c672 Serve conferences in iCalendar format. 2025-11-14 15:40:05 +00:00
5eab5361b2 Serve events in ics with UTZ timestamps. 2025-11-14 15:14:17 +00:00
77ea6a8afa Generate iCalendar for Thunderbird, etc. 2025-11-14 14:40:19 +00:00
97933cfe8f Update gitignore 2025-11-14 07:53:01 +00:00
c423ec45ea Tighten map marker styling 2025-11-13 06:51:21 +00:00
6d899113ce Add map fixture. 2025-11-13 06:42:12 +00:00
178c669b01 Fix country name box wrapping. 2025-11-03 19:57:16 +00:00
7266568010 Bug fix 2025-11-03 19:39:28 +00:00
8a9126b729 Remove unused code. 2025-11-03 19:31:14 +00:00
e82ca9d9e9 The pandas module has type info. 2025-11-03 19:30:57 +00:00
83e1406ab4 Fix type error. 2025-11-03 19:30:29 +00:00