Commit Graph
90 Commits
Author SHA1 Message Date
Ian Renton d26ddff7d1 Refactor of caching & data storage part 1 2026-07-31 14:12:55 +01:00
Ian Renton c3bcc1190d Structure changes to match other projects and minor logging improvements 2026-07-26 07:47:38 +01:00
Ian Renton 3c4c595288 Put static assets in a separate directory so they can be delivered directly by nginx 2026-07-25 16:49:49 +01:00
Ian Renton 4a9ff2c636 Improve error reporting 2026-07-25 13:43:13 +01:00
Ian Renton e7253c0916 Improve error reporting 2026-07-25 13:42:21 +01:00
Ian Renton 600a330e63 Fix a bug where SIGs weren't being handled properly in the add spot JS 2026-07-10 17:38:33 +01:00
Ian Renton 4d29e0026f Config option to disable logging web requests, to spare the log file. 2026-07-10 12:17:09 +01:00
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