Documentation for this module may be created at Module:Util/doc
local p = {}
function p.d(time)
if not time or time == 0 or time == '' then
return ''
end
result = ''
seconds = tonumber(time) % 60
if seconds == 1 then
result = '1 second'
elseif seconds ~= 0 then
result = seconds .. ' seconds'
end
time = (time - time % 60) / 60
minutes = time % 60
if result:len() and minutes ~= 0 then
result = ' ' .. result
end
if minutes == 1 then
result = '1 minute' .. result
elseif minutes ~= 0 then
result = minutes .. ' minutes' .. result
end
time = (time - time % 60) / 60
total_hours = time
hours = time % 24
if result:len() and hours ~= 0 then
result = ' ' .. result
end
days = (time - time % 24) / 24
result_2 = result
if total_hours == 1 then
result_2 = '1 hour' .. result_2
elseif total_hours ~= 0 then
result_2 = total_hours .. ' hours' .. result_2
end
if hours == 1 then
result = '1 hour' .. result
elseif hours ~= 0 then
result = hours .. ' hours' .. result
end
if days == 0 then
return result_2
elseif days == 1 then
return result_2 .. '<br />(' .. '1 day ' .. result .. ')'
else
return result_2 .. '<br />(' .. days .. ' days ' .. result .. ')'
end
end
function p.fd(frame)
return p.d(frame.args[1])
end
function p.r(inverse_rarity)
inverse_rarity = tonumber(inverse_rarity)
if inverse_rarity == 1 then
return "always"
elseif inverse_rarity < 12 then
return "common"
elseif inverse_rarity < 32 then
return "uncommon"
elseif inverse_rarity < 62 then
return "rare"
else
return "very-rare"
end
end
function p.c(number)
local result = tostring(number), k
while true do
result, k = result:gsub("^(-?%d+)(%d%d%d)", '%1,%2')
if k == 0 then
break
end
end
return result
end
function p.fc(frame)
return p.c(frame.args[1])
end
function p.pp(frame)
return frame:preprocess(frame.args[1])
end
return p
Community content is available under CC-BY-SA unless otherwise noted.