Modulo:Sandbox/Tino
Questa pagina e le sue sottopagine sono script di prova dell'Utente:Tino (discussioni).
Disclaimer
Si tratta di codice di prova, senza nessuna garanzia di utilità, correttezza e stabilità. Potrebbe avere side effect non previsti di varia natura, tra i quali uccidere il tuo cane o rianimare i morti dalle loro tombe. Potrebbe contenere tracce di arachidi o altra frutta a guscio. Maneggiare con cautela e riutilizzare a proprio rischio e pericolo.
local p = {}
function p.parse(frame)
local str = frame.args.str
local str2 = frame.args.str2
if (str2 ~= nil and str2 ~= '' ) -- two parameters, classical behaviour
then
return frame:expandTemplate{ title = 'Non firmato', args = { str2, str } }
end
-- one parameter, parse the input
local i, j
local len = mw.ustring.len(str) -- string length
local pattern = "%s*%d+:%d+, %d+ %a+ %d+\226\128\142*%s*" -- pattern for date in wiki format
-- \226\128\142 is unicode representation for U+200E, an invisible char present in chronology after the date
i, j = mw.ustring.find(str, pattern)
local date = mw.ustring.sub(str, i, j) -- the date
local name = mw.ustring.sub(str, j + 1, len) -- the rest of the string
return frame:expandTemplate{ title = 'Non firmato', args = { name, date } }
end
return p