Module:Unsigned: Difference between revisions
(Created page with "local p = {} -- There's probably a way to use strptime or some other more sophisticated way, but you're not supposed to be using a non-timestamp as input anyway. local funct...") |
No edit summary |
||
Line 13: | Line 13: | ||
local function addUtcToStringIfItDoesNotEndWithUtc(s) | local function addUtcToStringIfItDoesNotEndWithUtc(s) | ||
if s == "" or endswith(s, "~~~~") then return s end | if s == "" or endswith(s, "~~~~") then return s end | ||
if not endswith(s, "( | if not endswith(s, "(IST)") then | ||
return s .. " ( | return s .. " (IST)" | ||
end | end | ||
return s | return s |
Latest revision as of 14:34, 17 August 2022
Documentation for this module may be created at Module:Unsigned/doc
local p = {} -- There's probably a way to use strptime or some other more sophisticated way, but you're not supposed to be using a non-timestamp as input anyway. local function endswith(String,End) return End == '' or string.sub(String,-string.len(End)) == End end local function trim(s) return s:gsub("^%s+", ""):gsub("%s+$", ""):gsub("\226\128\142", "") end local function addUtcToStringIfItDoesNotEndWithUtc(s) if s == "" or endswith(s, "~~~~") then return s end if not endswith(s, "(IST)") then return s .. " (IST)" end return s end local function _main(args) local hopefullyTimestamp = args[1] or os.date('%H:%M, %d %B %Y (%Z)') return addUtcToStringIfItDoesNotEndWithUtc(trim(hopefullyTimestamp)) end function p.main(frame) local args if type(frame.args) == 'table' then -- We're being called via #invoke. The args are passed through to the module -- from the template page, so use the args that were passed into the template. args = frame.args else -- We're being called from another module or from the debug console, so assume -- the args are passed in directly. args = frame end return _main(args) end return p