diff --git a/spotproviders/sota.py b/spotproviders/sota.py index b6a7a5c..d4a492c 100644 --- a/spotproviders/sota.py +++ b/spotproviders/sota.py @@ -1,3 +1,4 @@ +import logging from datetime import datetime, timedelta import requests @@ -53,10 +54,14 @@ class SOTA(HTTPSpotProvider): activation_score=source_spot["points"]) # SOTA doesn't give summit lat/lon/grid in the main call, so we need another separate call for this - summit_data = self.SUMMIT_DATA_CACHE.get(self.SUMMIT_URL_ROOT + source_spot["summitCode"], headers=self.HTTP_HEADERS).json() - spot.grid = summit_data["locator"] - spot.latitude = summit_data["latitude"] - spot.longitude = summit_data["longitude"] + try: + summit_response = self.SUMMIT_DATA_CACHE.get(self.SUMMIT_URL_ROOT + source_spot["summitCode"], headers=self.HTTP_HEADERS) + summit_data = summit_response.json() + spot.grid = summit_data["locator"] + spot.latitude = summit_data["latitude"] + spot.longitude = summit_data["longitude"] + except Exception: + logging.warn("Looking up summit " + source_spot["summitCode"] + " from the SOTA API failed. No summit data was available.") # Add to our list. Don't worry about de-duping, removing old spots etc. at this point; other code will do # that for us.