From: copycat-killer <dada@archlinux.info>
Date: Sun, 29 May 2016 15:13:52 +0000 (+0200)
Subject: weather: icons based on localtime; closes pull #198
X-Git-Url: https://git.madduck.net/etc/awesome.git/commitdiff_plain/ef872db5dc8680bb88992867e74128b8562a6d33?hp=6fd1eecd4399caa2d3a411420bc9f9994f3b7cce

weather: icons based on localtime; closes pull #198
---

diff --git a/widgets/borderbox.lua b/widgets/borderbox.lua
index fb992de..149b835 100644
--- a/widgets/borderbox.lua
+++ b/widgets/borderbox.lua
@@ -15,14 +15,11 @@ local setmetatable = setmetatable
 local borderbox = {}
 
 local function worker(relbox, s, args)
-    local where = args.position or 'top'
-    local color = args.color or '#FFFFFF'
-    local size = args.size or 1
-    local box = nil
-    local wiboxarg = {
-        position = nil,
-        bg = color
-    }
+    local where    = args.position or 'top'
+    local color    = args.color or '#FFFFFF'
+    local size     = args.size or 1
+    local box      = nil
+    local wiboxarg = { position = nil, bg = color }
 
     if where == 'top'
     then
diff --git a/widgets/temp.lua b/widgets/temp.lua
index a857e71..a4ada52 100644
--- a/widgets/temp.lua
+++ b/widgets/temp.lua
@@ -29,8 +29,7 @@ local function worker(args)
 
     function update()
         local f = io.open(tempfile)
-        if f ~= nil
-        then
+        if f then
             coretemp_now = tonumber(f:read("*all")) / 1000
             f:close()
         else
diff --git a/widgets/weather.lua b/widgets/weather.lua
index ca0ceed..37a92ff 100644
--- a/widgets/weather.lua
+++ b/widgets/weather.lua
@@ -18,9 +18,11 @@ local wibox        = require("wibox")
 
 local math         = { floor  = math.floor }
 local mouse        = mouse
+local os           = { time   = os.time }
 local string       = { format = string.format,
                        gsub   = string.gsub }
 
+local tonumber     = tonumber
 local setmetatable = setmetatable
 
 -- OpenWeatherMap
@@ -36,6 +38,7 @@ local function worker(args)
     local current_call          = args.current_call  or "curl -s 'http://api.openweathermap.org/data/2.5/weather?id=%s&units=%s&lang=%s&APPID=%s'"
     local forecast_call         = args.forecast_call or "curl -s 'http://api.openweathermap.org/data/2.5/forecast/daily?id=%s&units=%s&lang=%s&cnt=%s&APPID=%s'"
     local city_id               = args.city_id or 0 -- placeholder
+	  local utc                   = args.utc or 0
     local units                 = args.units or "metric"
     local lang                  = args.lang or "en"
     local cnt                   = args.cnt or 5
@@ -70,6 +73,7 @@ local function worker(args)
             weather.forecast_update()
         end
 
+
         weather.notification = naughty.notify({
             text    = weather.notification_text,
             icon    = weather.icon_path,
@@ -117,11 +121,24 @@ local function worker(args)
     function weather.update()
         local cmd = string.format(current_call, city_id, units, lang, APPID)
         async.request(cmd, function(f)
-            local pos, err
+            local pos, err, icon
             weather_now, pos, err = json.decode(f, 1, nil)
 
             if not err and weather_now and tonumber(weather_now["cod"]) == 200 then
-                weather.icon_path = icons_path .. weather_now["weather"][1]["icon"] .. ".png"
+                -- weather icon based on localtime
+                now     = os.time() - (utc * 3600)
+                sunrise = tonumber(weather_now["sys"]["sunrise"])
+                sunset  = tonumber(weather_now["sys"]["sunset"])
+                icon    = weather_now["weather"][1]["icon"]
+
+                if sunrise <= now and now <= sunset then
+                    icon = string.gsub(icon, "n", "d")
+                else
+                    icon = string.gsub(icon, "d", "n")
+                end
+
+                weather.icon_path = icons_path .. icon .. ".png"
+
                 widget = weather.widget
                 settings()
             else
diff --git a/wiki b/wiki
index ac3af8c..d567782 160000
--- a/wiki
+++ b/wiki
@@ -1 +1 @@
-Subproject commit ac3af8c33cc593af15b85f68e20c262e847d566b
+Subproject commit d567782c4314edc851b86a1ca4f853b238774f2e