@@ -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