]>
git.madduck.net Git - etc/awesome.git/blobdiff - luatz/parse.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:
-- Return value is not normalised (this preserves a leap second)
-- 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)
-- Return value is not normalised (this preserves a leap second)
-- 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 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) -- luacheck: ignore 631
- error ( "Invalid RFC 3339 timestamp" )
+ return nil, "Invalid RFC 3339 timestamp"
- year = tonumber ( year )
- month = tonumber ( month )
- day = tonumber ( day )
- hour = tonumber ( hour )
- min = tonumber ( min )
- sec = tonumber ( sec )
+ year = tonumber(year )
+ month = tonumber(month )
+ day = tonumber(day )
+ hour = tonumber(hour )
+ min = tonumber(min )
+ sec = tonumber(sec )
- local tt = new_timetable ( year , month , day , hour , min , sec )
+ local tt = new_timetable(year, month, day, hour, min, sec )
- if str:match ("^[Zz]" , patt_end ) then
+ if str:match("^[Zz]", patt_end ) then
- local hour_offset , min_offset = str:match ( "^([+-]%d%d):(%d%d)" , patt_end )
+ local hour_offset, min_offset = str:match("^([+-]%d%d):(%d%d)", patt_end )
- tz_offset = tonumber ( hour_offset ) * 3600 + tonumber ( min_offset ) * 60
- else
- -- Invalid RFC 3339 timestamp offset (should be Z or (+/-)hour:min
+ tz_offset = tonumber(hour_offset) * 3600 + tonumber(min_offset ) * 60
+ else -- luacheck: ignore 542
+ -- Invalid RFC 3339 timestamp offset (should be Z or (+/-)hour:min)
-- tz_offset will be nil
end
end
-- tz_offset will be nil
end
end