Skip to content

Commit 07b2de1

Browse files
committed
Detect if no OpenWeatherMap API key provided
1 parent d8ef41a commit 07b2de1

File tree

1 file changed

+18
-19
lines changed

1 file changed

+18
-19
lines changed

library/stats.py

Lines changed: 18 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -853,7 +853,6 @@ def stats():
853853
if activate:
854854
temp = None
855855
feel = None
856-
desc = None
857856
time = None
858857
humidity = None
859858
if HW_SENSORS in ["STATIC", "STUB"]:
@@ -877,26 +876,26 @@ def stats():
877876
try:
878877
response = requests.get(url)
879878
if response.status_code == 200:
880-
try:
881-
data = response.json()
882-
temp = f"{data['current']['temp']:.1f}{deg}"
883-
feel = f"({data['current']['feels_like']:.1f}{deg})"
884-
desc = data['current']['weather'][0]['description'].capitalize()
885-
if wdescription_theme_data['CENTER_LENGTH']:
886-
desc = desc.center(center_description_length)
887-
humidity = f"{data['current']['humidity']:.0f}%"
888-
now = datetime.datetime.now()
889-
time = f"@{now.hour:02d}:{now.minute:02d}"
890-
except Exception as e:
891-
logger.error(str(e))
892-
desc = "Error fetching weather"
879+
data = response.json()
880+
temp = f"{data['current']['temp']:.1f}{deg}"
881+
feel = f"({data['current']['feels_like']:.1f}{deg})"
882+
desc = data['current']['weather'][0]['description'].capitalize()
883+
if wdescription_theme_data['CENTER_LENGTH']:
884+
desc = desc.center(center_description_length)
885+
humidity = f"{data['current']['humidity']:.0f}%"
886+
now = datetime.datetime.now()
887+
time = f"@{now.hour:02d}:{now.minute:02d}"
893888
else:
894-
print(f"Failed to fetch weather data. Status code: {response.status_code}")
895-
print(f"Response content: {response.content}")
889+
logger.error(f"Error {response.status_code} fetching OpenWeatherMap API:")
890+
# logger.debug(f"Response content: {response.content}")
896891
logger.error(response.text)
897892
desc = response.json().get('message')
898-
except:
899-
desc = "Connection error"
893+
except Exception as e:
894+
logger.error(f"Error fetching OpenWeatherMap API: {str(e)}")
895+
desc = "Error fetching OpenWeatherMap API"
896+
else:
897+
logger.warning("No OpenWeatherMap API key provided in config.yaml")
898+
desc = "No OpenWeatherMap API key"
900899

901900
if activate:
902901
# Display Temperature
@@ -907,7 +906,7 @@ def stats():
907906
display_themed_value(theme_data=wupdatetime_theme_data, value=time)
908907
# Display Humidity
909908
display_themed_value(theme_data=whumidity_theme_data, value=humidity)
910-
# Display Weather Description
909+
# Display Weather Description (or error message)
911910
display_themed_value(theme_data=wdescription_theme_data, value=desc)
912911

913912

0 commit comments

Comments
 (0)