Jump to content

Module:Weekly site information: Difference between revisions

Dat Hack3r (talk | contribs)
Removed padding from date numbers (i.e., Dec 1 instead of Dec 01) and added error handling.
Dat Hack3r (talk | contribs)
Can now return the title of a Release given its release number; for use in other modules.
 
Line 7: Line 7:
local diff = os.difftime(curr_date, first_date) / (24 * 60 * 60)
local diff = os.difftime(curr_date, first_date) / (24 * 60 * 60)


local function release(offset)
function p._release(offset, release_num)
offset = offset or 0
offset = offset or 0
if release_num then
offset = release_num - math.floor(diff / 7)
end


local release_num = math.floor(diff / 7) + offset
release_num = release_num or (math.floor(diff / 7) + offset)


local end_date = os.date("*t", curr_date - (diff % 7) * 24 * 60 * 60)
local end_date = os.date("*t", curr_date - (diff % 7) * 24 * 60 * 60)
Line 26: Line 30:
function p._main(link_text, offset)
function p._main(link_text, offset)
if offset then
if offset then
return "[[" .. release(offset) .. "|" .. link_text .. "]]"
return "[[" .. p._release(offset) .. "|" .. link_text .. "]]"
else
else
for i=1,-math.floor(diff / 7),-1 do
for i=1,-math.floor(diff / 7),-1 do
mw.log(release(i))
mw.log(p._release(i))
if mw.title.new(release(i), "").exists then
if mw.title.new(p._release(i), "").exists then
return "[[" .. release(i) .. "|" .. link_text .. "]]"
return "[[" .. p._release(i) .. "|" .. link_text .. "]]"
end
end
end
end