]> git.madduck.net Git - etc/awesome.git/blobdiff - widgets/yawn/init.lua

madduck's git repository

Every one of the projects in this repository is available at the canonical URL git://git.madduck.net/madduck/pub/<projectpath> — see each project's metadata for the exact URL.

All patches and comments are welcome. Please squash your changes to logical commits before using git-format-patch and git-send-email to patches@git.madduck.net. If you'd read over the Git project's submission guidelines and adhered to them, I'd be especially grateful.

SSH access, as well as push access can be individually arranged.

If you use my repositories frequently, consider adding the following snippet to ~/.gitconfig and using the third clone URL listed for each project:

[url "git://git.madduck.net/madduck/"]
  insteadOf = madduck:

#32 fix attempt
[etc/awesome.git] / widgets / yawn / init.lua
index a2f756ede41b3259680e388e0277147e834f9a91..86a2d0fe2979f38cf1acd8ca481cd161c441f424 100644 (file)
@@ -1,3 +1,4 @@
+
 --[[
                                                   
      Licensed under GNU General Public License v2 
@@ -46,7 +47,7 @@ yawn_notification_preset = {}
 
 local function fetch_weather()
     local url = api_url .. units_set .. city_id
-    local f = io.popen("curl --connect-timeout 1 -fsm 1 '" .. url .. "'" )
+    local f = io.popen("curl --connect-timeout 1 -fsm 3 '" .. url .. "'" )
     local text = f:read("*all")
     f:close()
 
@@ -57,12 +58,12 @@ local function fetch_weather()
         yawn.icon:set_image(icon_path .. "na.png")
         if text == "" then
             weather_data = "Service not available at the moment."
-            yawn.widget:set_text(" N/A")
+            yawn.widget:set_text(" N/A ")
         else
             weather_data = "City not found!\n" ..
                            "Are you sure " .. city_id ..
                            " is your Yahoo city ID?"
-            yawn.widget:set_text(" ?")
+            yawn.widget:set_text(" ? ")
         end
         return
     end
@@ -74,7 +75,7 @@ local function fetch_weather()
     -- may still happens in case of bad connectivity
     if weather_data == "" then
         yawn.icon:set_image(icon_path .. "na.png")
-        yawn.widget:set_text(" ?")
+        yawn.widget:set_text(" ? ")
         return
     end
 
@@ -134,7 +135,8 @@ local function fetch_weather()
     yawn.icon:set_image(sky)
     widget = yawn.widget
 
-    forecast = weather_data:match(": %S.-,"):gsub(": ", ""):gsub(",", "")
+    _data = weather_data:match(": %S.-,") or weather_data
+    forecast = _data:gsub(": ", ""):gsub(",", "")
     units = units:gsub(" ", "")
 
     settings()