From 736e7dabf47b7de949c55907d2d238f954a4c29e Mon Sep 17 00:00:00 2001 From: Alex Schofield Date: Tue, 5 May 2026 22:07:44 +0100 Subject: improve error handling during geolocation --- fnme/geo.py | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'fnme/geo.py') diff --git a/fnme/geo.py b/fnme/geo.py index dba68fe..ec10237 100644 --- a/fnme/geo.py +++ b/fnme/geo.py @@ -1,10 +1,18 @@ +from geopy import exc from geopy.geocoders import Nominatim from geopy.location import Location +from fnme.exceptions import LocationError + def get_location(address: str) -> tuple[float, float]: geolocator = Nominatim(user_agent="FuelNearMe") - result = geolocator.geocode(address) + + try: + result = geolocator.geocode(address) + except exc.GeopyError as e: + raise LocationError(message=f"Location service error: {e}") + if not isinstance(result, Location): - raise ValueError(f"Failed to get location from address: '{address}'") + raise LocationError(message=f"Unknown location: '{address}'") return (result.latitude, result.longitude) -- cgit v1.2.3