@@ -853,7 +853,6 @@ def stats():
853
853
if activate :
854
854
temp = None
855
855
feel = None
856
- desc = None
857
856
time = None
858
857
humidity = None
859
858
if HW_SENSORS in ["STATIC" , "STUB" ]:
@@ -877,26 +876,26 @@ def stats():
877
876
try :
878
877
response = requests .get (url )
879
878
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} "
893
888
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}")
896
891
logger .error (response .text )
897
892
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"
900
899
901
900
if activate :
902
901
# Display Temperature
@@ -907,7 +906,7 @@ def stats():
907
906
display_themed_value (theme_data = wupdatetime_theme_data , value = time )
908
907
# Display Humidity
909
908
display_themed_value (theme_data = whumidity_theme_data , value = humidity )
910
- # Display Weather Description
909
+ # Display Weather Description (or error message)
911
910
display_themed_value (theme_data = wdescription_theme_data , value = desc )
912
911
913
912
0 commit comments