Modulo:Nf

Da Wikizionario, il dizionario a contenuto aperto.

La documentazione per questo modulo può essere creata in Modulo:Nf/man

local p = {}

local function parseDateUsername(str)
	local date, username
	-- date e username possono essere separati da U+200E o da uno spazio
	_, _, date, username = mw.ustring.find(str, '(%d%d:%d%d, %d+ %a%a%a %d%d%d%d)\226\128\142(.*)')
	if not date then
	_, _, date, username = mw.ustring.find(str, '(%d%d:%d%d, %d+ %a%a%a %d%d%d%d) (.*)')
	end
	if date then
		return username, date
	else
		return '', str
	end
end

function p.main(frame)
	local date, username, templateArgs
	
	date = frame:getParent().args[1] or ''
	username = frame:getParent().args[2] or ''
	-- se c'è solo la data verifica se contiene anche l'username
	if date ~= '' and username == '' then
		templateArgs = { parseDateUsername(date) }
	else
		templateArgs = { username, date }
	end

	return frame:expandTemplate{ title = 'Non firmato', args = templateArgs }
end

return p