Improve error reporting consistency and ensure SEMI_STATIC_URL_DATA_CACHE caches 400-series responses from the server so we don't keep requesting summit/park/bunker data for a reference that the user typod and doesn't actually exist.

This commit is contained in:
Ian Renton
2026-07-25 08:29:22 +01:00
parent 2fc9658571
commit 66010dc682
14 changed files with 25 additions and 22 deletions
+5 -2
View File
@@ -8,8 +8,11 @@ from requests_cache import CachedSession
# of time has passed. This is used throughout Spothole to cache data that does not change
# rapidly. The ThreadSafeSession construct here protects it against some multithreading
# contention weirdness we sometimes used to see on startup where the cache was hammered
# pretty hard.
_session = CachedSession("cache/semi_static_url_data_cache", expire_after=timedelta(days=30))
# pretty hard. The expanded list of allowable_codes ensures we also cache and return 400-type
# responses, e.g "this SOTA summit ref doesn't actually exist", to avoid hammering remote
# servers for data they've told us they can't provide.
_session = CachedSession("cache/semi_static_url_data_cache", expire_after=timedelta(days=30),
allowable_codes=(200, 400, 401, 403, 404))
_lock = threading.Lock()