summaryrefslogtreecommitdiffstats
path: root/nodes/weather.lua
diff options
context:
space:
mode:
Diffstat (limited to 'nodes/weather.lua')
-rw-r--r--nodes/weather.lua52
1 files changed, 44 insertions, 8 deletions
diff --git a/nodes/weather.lua b/nodes/weather.lua
index fa3bf98..f5bf82c 100644
--- a/nodes/weather.lua
+++ b/nodes/weather.lua
@@ -9,15 +9,51 @@ local weatherFont = love.graphics.newFont('fonts/weathericons-regular-webfont.tt
local textFont = love.graphics.newFont('fonts/Lato-Thin.ttf', 300)
local smallFont = love.graphics.newFont('fonts/Lato-Light.ttf', 30)
-local weatherGlyphs = {
- snow = "",
- mist = "",
- clear = "",
- -- clouds = "",
- clouds = "", -- x---DDD
- drizzle = "",
+local weatherGlyphs = {}
+
+local weatherGlyphsSet = {
+ day = {
+ snow = "",
+ mist = "",
+ clear = "",
+ -- clouds = "",
+ clouds = "", -- x---DDD
+ drizzle = "",
+ },
+ night = {
+ snow = "",
+ mist = "",
+ clear = "",
+ clouds = "",
+ drizzle = "",
+
+ }
}
+function node:timeOfDay()
+ local sunRise = tonumber(os.date("%H%M", self.state.sunRise))
+ local sunSet = tonumber(os.date("%H%M", self.state.sunSet))
+ local now = tonumber(os.date("%H%M"))
+ if sunRise == nil or sunSet == nil then
+ return weatherGlyphsSet["day"] -- smth gone wrong. assume daylight
+ end
+ if now < sunSet and now > sunRise then
+ print('day')
+ return weatherGlyphsSet["day"]
+ else
+ print('night')
+ return weatherGlyphsSet["night"]
+ end
+end
+
+function node:beforeEnter()
+ if self.state then
+ weatherGlyphs = self:timeOfDay()
+ else
+ weatherGlyphs = weatherGlyphsSet["day"] -- do not know sunraise and sunset yet. assume daylight
+ end
+end
+
function node:render()
love.graphics.setColor( 0, 0, 0 )
love.graphics.rectangle("fill", 0, 0, love.graphics.getWidth(), love.graphics.getHeight())
@@ -34,7 +70,7 @@ function node:render()
end
love.graphics.setFont(textFont)
- love.graphics.printf(tostring(self.state.temperature) .. "°", 600, 150, 650, 'center')
+ love.graphics.printf(tostring(math.floor(self.state.temperature + 0.5)) .. "°", 600, 150, 650, 'center')
love.graphics.setFont(smallFont)
love.graphics.printf(os.date("Last update: %Y/%m/%d %H:%M", self.state.lastUpdate), 0, love.graphics.getHeight() - 60, love.graphics.getWidth(), 'center')