From 1e81f505fc56efba701ba62a6d858d5fb5b70a7f Mon Sep 17 00:00:00 2001 From: Aki Date: Thu, 31 Aug 2023 23:22:45 +0200 Subject: Split out dates module --- activity.lua | 26 ++++---------------------- 1 file changed, 4 insertions(+), 22 deletions(-) (limited to 'activity.lua') diff --git a/activity.lua b/activity.lua index 1d1ef8e..cece167 100644 --- a/activity.lua +++ b/activity.lua @@ -1,27 +1,9 @@ +local dates = require "activity.dates" local activity = {} -function activity.days_in (year) - if year % 4 ~= 0 or year % 100 == 0 and year % 400 ~= 0 then - return 365 - end - return 366 -end - - -function activity.this_year () - return os.date"%Y" -end - - -function activity.first_week_day (year) - year = year or activity.this_year() - return os.date("*t", os.time{year=year, month=1, day=1}).wday -end - - function activity.generate_table (year) - year = year or activity.this_year() + year = year or dates.this_year() local function spot () return [[]] @@ -52,8 +34,8 @@ function activity.generate_table (year) local rows = "" local weekdays = {"", "Mon", "", "Wed", "", "Fri", ""} - local start_from = activity.first_week_day(year) - local end_at = (start_from + activity.days_in(year) - 1) % 7 + local start_from = dates.first_week_day(year) + local end_at = (start_from + dates.days_in(year) - 1) % 7 for index, weekday in pairs(weekdays) do rows = rows .. row(weekday, index >= start_from, index <= end_at) end -- cgit v1.1