Commit Graph

83 Commits

Author SHA1 Message Date
Ian Renton
5c598f91e6 Pass through more info from nginx and log it, to help me figure out who's using Spothole and contact them about upcoming API changes. Also an enabler for #101. 2026-06-20 12:17:13 +01:00
Ian Renton
07d0d98f3d Global autoformat 2026-06-19 21:36:11 +01:00
Ian Renton
edb2641f76 Fix some IDE warnings, mostly around type safety on the Python side 2026-06-19 21:33:46 +01:00
Ian Renton
b725c34f7c General refactor to remove stuff being passed around the Tornado handlers when it doesn't need to be. Conditions provider presence is how handled on the JS side without needing special booleans sent to every page handler. 2026-06-09 11:06:48 +01:00
Ian Renton
cd30fc765b Add an API-only mode that hides the server's web UI. Closes #111 2026-06-09 10:38:16 +01:00
Ian Renton
7c8b4c6bf8 Workaround to fetch ionosonde data from KC2G since the GIRO data source often seems to be down. 2026-06-06 10:29:18 +01:00
Ian Renton
64a7b27887 Support fetching ionosonde data for FoF2 and MUF display on the Conditions page 2026-05-15 18:25:54 +01:00
Ian Renton
76b0ec24b7 Hide conditions page entries if data isn't available 2026-04-03 21:47:35 +01:00
Ian Renton
4fe8dfc36a DX stats table. Closes #99 2026-03-29 10:12:25 +01:00
Ian Renton
91276067b9 Conditions display should be a separate page #92 2026-03-28 11:36:37 +00:00
Ian Renton
1173af6a9d Fetch solar conditions from HamQSL #92 2026-03-28 10:04:29 +00:00
Ian Renton
6982354364 Improve adherence to python coding standards and clear up IDE static analysis warnings 2026-02-27 19:17:04 +00:00
Ian Renton
6b18ec6f88 Bulk convert comments above classes/functions/methods into proper docstrings 2026-02-27 14:21:35 +00:00
Ian Renton
068c732796 Attempt to fix CPU utilisation bug by preventing the heartbeat callback leak in the SSE stream handlers and replacing Timer-based with Event-based threads. Also compiled regexes in advance for DXCC callsign lookups for efficiency, and fixed my misunderstanding of what Queue.empty() does 2026-02-27 08:28:43 +00:00
Ian Renton
3cd1352ff3 CQ/ITU zone lookups 2026-02-03 19:06:43 +00:00
Ian Renton
6116d19580 Fix issue with SSE queues getting lost #3 2025-12-23 21:26:39 +00:00
Ian Renton
86beb27ebf Implement SSE endpoints in Tornado #3 2025-12-23 21:01:41 +00:00
Ian Renton
d463403018 Implement web server metrics in Tornado #3 2025-12-23 14:23:50 +00:00
Ian Renton
23a6e08777 Implement more request handlers in Tornado #3 2025-12-23 14:05:28 +00:00
Ian Renton
61784e8af6 Split up some code for sanity #3 2025-12-23 11:51:00 +00:00
Ian Renton
fd246fc17b Partial reimplementation of the web server using Tornado #3 2025-12-23 11:03:01 +00:00
Ian Renton
70a7bd4814 Use SSE frontend #3 2025-12-22 15:47:45 +00:00
Ian Renton
fd2986f310 First attempt at SSE backend #3 2025-12-22 13:02:11 +00:00
Ian Renton
c95c6bb347 First attempt at SSE backend #3 2025-12-22 12:04:35 +00:00
Ian Renton
097c75eadd Improve SIG Ref lookup 2025-12-15 12:13:41 +00:00
Ian Renton
8a4f23ac72 Improve expired spot handling and efficiency of handling expired spots during web requests. 2025-11-29 16:12:44 +00:00
Ian Renton
368e69bf00 Use tower-cell icon for cluster/unknown spots rather than the desktop icon 2025-11-26 21:49:11 +00:00
Ian Renton
255719f3b5 Add a special 'NO_SIG' option to 'sig' query params, which will allow us to filter out all xOTA spots/alerts, leaving just the generic ones. #84 2025-11-26 21:13:14 +00:00
Ian Renton
4f83468309 Add config for "Number of Spots" and "Spot Age" values used in the web UI. Closes #79 2025-11-13 21:18:27 +00:00
Ian Renton
2ccfa28119 Get "qth" friendly name from QRZ/clublog and return in the callsign lookup. Closes #77 2025-11-02 20:51:16 +00:00
Ian Renton
d80c4cfbeb Provide an externally usable callsign lookup feature. #73 2025-11-02 16:52:27 +00:00
Ian Renton
286ff66721 Refactor looking up SIG reference details into a common location, taking it out of the individual spot providers. This means we can now look up references properly from Cluster spot comments, etc. Closes #74 as there is no longer any duplication of these lookups. Works towards #54 as sig_refs now specify their sig internally. 2025-11-02 15:45:19 +00:00
Ian Renton
0e8c7873d8 Lookup for sig_ref data #73 2025-11-02 14:13:03 +00:00
Ian Renton
0570b39e09 Add Spot page to allow sig and sig_ref entries. Closes #71 2025-11-01 12:38:57 +00:00
Ian Renton
471c487132 Allow adding the DX grid when spotting #71 2025-11-01 11:11:33 +00:00
Ian Renton
a3ec923c56 Improve add spot page warning and server-side validation. #71 2025-11-01 10:29:18 +00:00
Ian Renton
69821f817b Extract "add spot" into its own page 2025-11-01 08:52:46 +00:00
Ian Renton
04435e770a Add dx_call_includes filter 2025-10-31 17:33:27 +00:00
Ian Renton
9768f976c5 Add prometheus metrics endpoint. Closes #67 2025-10-30 13:32:10 +00:00
Ian Renton
6ce66fdb62 Take SSIDs into account in the dedupe spots function #68 2025-10-30 10:51:56 +00:00
Ian Renton
0db674eeb2 Continue work on bands display. #48 2025-10-20 21:01:00 +01:00
Ian Renton
6ca9f28a56 Start work on bands display. #48 2025-10-20 18:44:51 +01:00
Ian Renton
b4d88a4770 Provide a more useful response when a ValueError is encountered parsing a user's API request. #59 2025-10-20 08:54:15 +01:00
Ian Renton
e11483e230 Implement has_sig spot filter. Closes #49 2025-10-19 14:36:22 +01:00
Ian Renton
772d9f4341 Support de-dupe and comment filtering for spots. Closes #45 2025-10-19 10:18:01 +01:00
Ian Renton
87846f09f8 Partial map implementation #42 2025-10-16 22:17:33 +01:00
Ian Renton
d02f0e1afc Tweaks for v1.0 2025-10-14 19:42:09 +01:00
Ian Renton
cfa3aaedb0 Refactor utils.py as a helper class so we have some control about when the lookup services actually start 2025-10-13 20:16:40 +01:00
Ian Renton
a5a4981b7e Extra defensive coding 2025-10-13 18:31:32 +01:00
Ian Renton
8582dfdc75 More data for mobile layout and extra defensive coding 2025-10-13 18:27:32 +01:00