From 3d8aef5f22cf31880ec3815cb15ced80c8f190d0 Mon Sep 17 00:00:00 2001 From: Joe Gitta Date: Wed, 27 May 2026 13:51:41 +0000 Subject: [PATCH] deploy: accurate waterloo ia geolocation --- browser.py | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/browser.py b/browser.py index a66ca8e..3e45627 100755 --- a/browser.py +++ b/browser.py @@ -831,21 +831,21 @@ if __name__ == "__main__": cache_file = _HOME / "kiosk-home" / "weather-data.json" while True: try: - # 1. Geolocation lookup + # 1. Geolocation lookup (using highly accurate ip-api.com) req = urllib.request.Request( - "https://freeipapi.com/api/json", + "http://ip-api.com/json/", headers={"User-Agent": "Mozilla/5.0"} ) geo_raw = urllib.request.urlopen(req, timeout=8).read() geo = json.loads(geo_raw) loc_name = "Your Area" - if geo.get("cityName") and geo.get("regionName"): - loc_name = f"{geo['cityName']}, {geo['regionName']}" - elif geo.get("cityName"): - loc_name = geo["cityName"] + if geo.get("city") and geo.get("regionName"): + loc_name = f"{geo['city']}, {geo['regionName']}" + elif geo.get("city"): + loc_name = geo["city"] - lat, lon = geo.get("latitude"), geo.get("longitude") + lat, lon = geo.get("lat"), geo.get("lon") if lat and lon: # 2. Weather forecast lookup url = f"https://api.open-meteo.com/v1/forecast?latitude={lat}&longitude={lon}¤t=temperature_2m,relative_humidity_2m,apparent_temperature,weather_code,wind_speed_10m&daily=weather_code,temperature_2m_max,temperature_2m_min&temperature_unit=fahrenheit&wind_speed_unit=mph&precipitation_unit=inch&timezone=auto"