X-Git-Url: https://git.madduck.net/etc/awesome.git/blobdiff_plain/a3b2f88d60b3f1d2275170c616fc052b7a5df51a..daa3dfaeb7fe6d9674d3113ab92959ad0175c2b9:/luatz/parse.lua diff --git a/luatz/parse.lua b/luatz/parse.lua index 0b3b2dd..648d538 100644 --- a/luatz/parse.lua +++ b/luatz/parse.lua @@ -6,9 +6,9 @@ local new_timetable = require "luatz.timetable".new -- If the timestamp is only partial (i.e. missing "Z" or time offset) then `tz_offset` will be nil -- TODO: Validate components are within their boundarys (e.g. 1 <= month <= 12) local function rfc_3339 ( str , init ) - local year , month , day , hour , min , sec , patt_end = str:match ( "^(%d%d%d%d)%-(%d%d)%-(%d%d)[Tt](%d%d%.?%d*):(%d%d):(%d%d)()" , init ) + local year , month , day , hour , min , sec , patt_end = str:match ( "^(%d%d%d%d)%-(%d%d)%-(%d%d)[Tt](%d%d%.?%d*):(%d%d):(%d%d)()" , init ) -- luacheck: ignore 631 if not year then - error ( "Invalid RFC 3339 timestamp" ) + return nil, "Invalid RFC 3339 timestamp" end year = tonumber ( year ) month = tonumber ( month ) @@ -26,7 +26,7 @@ local function rfc_3339 ( str , init ) local hour_offset , min_offset = str:match ( "^([+-]%d%d):(%d%d)" , patt_end ) if hour_offset then tz_offset = tonumber ( hour_offset ) * 3600 + tonumber ( min_offset ) * 60 - else + else -- luacheck: ignore 542 -- Invalid RFC 3339 timestamp offset (should be Z or (+/-)hour:min) -- tz_offset will be nil end