From 3fce209a997914e596740104e47895e2ddd12ebb Mon Sep 17 00:00:00 2001 From: jesopo Date: Sun, 28 Apr 2019 15:38:26 +0100 Subject: [PATCH] Change location.py to use lat/lon instead of continent/country/city --- modules/location.py | 9 +++------ modules/weather.py | 6 +++--- 2 files changed, 6 insertions(+), 9 deletions(-) diff --git a/modules/location.py b/modules/location.py index 85e147da..284ee3ad 100644 --- a/modules/location.py +++ b/modules/location.py @@ -16,10 +16,7 @@ class Module(ModuleManager.BaseModule): if page and page.data["results"]: result = page.data["results"][0] timezone = result["annotations"]["timezone"]["name"] - continent = result["components"]["continent"] - country = result["components"]["country"] - city = result["components"]["city"] + lat = result["geometry"]["lat"] + lon = result["geometry"]["lng"] - print("yes") - return {"timezone": timezone, "continent": continent, - "country": country, "city": city} + return {"timezone": timezone, "lat": lat, "lon": lon} diff --git a/modules/weather.py b/modules/weather.py index 4f4bb913..e97feade 100644 --- a/modules/weather.py +++ b/modules/weather.py @@ -8,7 +8,7 @@ class Module(ModuleManager.BaseModule): def _user_location(self, user): user_location = user.get_setting("location", None) if not user_location == None: - return "%s, %s" % (user_location["city"], user_location["country"]) + return [user_location["lat"], user_location["lon"]] @utils.hook("received.command.w", alias_of="weather") @utils.hook("received.command.weather") @@ -31,9 +31,9 @@ class Module(ModuleManager.BaseModule): if location == None: raise utils.EventError("You don't have a location set") + lat, lon = location page = utils.http.request(URL_WEATHER, get_params={ - "q": location, "units": "metric", - "APPID": api_key}, + "units": "metric", "lat": lat, "lon": lon, "APPID": api_key}, json=True) if page: if "weather" in page.data: