X-Git-Url: https://git.madduck.net/etc/awesome.git/blobdiff_plain/8ce2a7db5c4ea48a342b665385a54514c79d30bb..1f8c95ba28a59bf8459a15c8b2d52234e577e191:/luatz/timetable.lua diff --git a/luatz/timetable.lua b/luatz/timetable.lua index 10af170..99ac52e 100644 --- a/luatz/timetable.lua +++ b/luatz/timetable.lua @@ -16,7 +16,13 @@ end local sakamoto = {0, 3, 2, 5, 0, 3, 5, 1, 4, 6, 2, 4}; local function is_leap ( y ) - return (y % 4) == 0 and (y % 100) ~= 0 or (y % 400) == 0 + if (y % 4) ~= 0 then + return false + elseif (y % 100) ~= 0 then + return true + else + return (y % 400) == 0 + end end local function year_length ( y ) @@ -193,10 +199,14 @@ function timetable_methods:clone ( ) end local function new_from_timestamp ( ts ) + if type ( ts ) ~= "number" then + error ( "bad argument #1 to 'new_from_timestamp' (number expected, got " .. type ( ts ) .. ")" , 2 ) + end return new_timetable ( 1970 , 1 , 1 , 0 , 0 , ts ) end return { + is_leap = is_leap ; day_of_year = day_of_year ; day_of_week = day_of_week ; normalise = normalise ;