X-Git-Url: https://git.madduck.net/etc/awesome.git/blobdiff_plain/b87b05203ed0b2f6c0dcfc342de0916e15547f17..ab32be9ac64831812dd7af22cc7595bbc9324932:/widgets/yawn/init.lua diff --git a/widgets/yawn/init.lua b/widgets/yawn/init.lua index d37fc44..e7953e1 100644 --- a/widgets/yawn/init.lua +++ b/widgets/yawn/init.lua @@ -1,4 +1,3 @@ - --[[ Licensed under GNU General Public License v2 @@ -71,7 +70,15 @@ local function fetch_weather() -- Processing raw data weather_data = text:gsub("<.->", "") - weather_data = weather_data:match("Current Conditions:.-Full") + weather_data = weather_data:match("Current Conditions:.-Full") or "" + + -- may still happens in case of bad connectivity + if weather_data == "" then + yawn.icon:set_image(icon_path .. "na.png") + yawn.widget:set_text("?") + return + end + weather_data = weather_data:gsub("Current Conditions:.-\n", "Now: ") weather_data = weather_data:gsub("Forecast:.-\n", "") weather_data = weather_data:gsub("\nFull", "") @@ -107,8 +114,7 @@ local function fetch_weather() sky = sky .. forecast:gsub(" ", ""):gsub("/", "") .. ".png" -- In case there's no defined icon for current forecast - f = io.popen(sky) - if f == nil then + if io.open(sky) == nil then sky = icon_path .. "na.png" else io.close(f) @@ -134,8 +140,6 @@ local function fetch_weather() forecast = weather_data:match(": %S.-,"):gsub(": ", ""):gsub(",", "") units = units:gsub(" ", "") - naughty.notify({text=forecast, timeout=10}) - naughty.notify({text=units, timeout=10}) settings() end