Moduł:NonNews data
Z Nonsensopedii, polskiej encyklopedii humoru
local p = {}
local monthMap = {
stycznia = 'styczeń',
lutego = 'luty',
marca = 'marzec',
kwietnia = 'kwiecień',
maja = 'maj',
czerwca = 'czerwiec',
lipca = 'lipiec',
sierpnia = 'sierpień',
['września'] = 'wrzesień',
['października'] = 'październik',
listopada = 'listopad',
grudnia = 'grudzień'
}
-- do użycia w wikitekście przez #invoke
function p.nnData(frame)
local tools = require('Moduł:Narzędzia')
local text = frame:getParent().args[1] or ''
if text == '' then
return mw.smw.info('Nie podano daty NonNewsa – podaj ją w szablonie „NonNews data”, by poprawnie skategoryzować wiadomość.', 'error')
end
text = mw.ustring.lower( mw.text.trim(text) )
local split = mw.text.split(text, '%s+')
if #split ~= 3 then
return mw.smw.info('Nierozpoznany format daty – poprawny format to „17 września 2005”.', 'error')
end
local prop = { ['Ma datę'] = text, ["Ma dzień"] = split[1], ["Ma miesiąc"] = monthMap[split[2]], ["Ma rok"] = split[3] }
local smwResult = mw.smw.set(prop)
if smwResult ~= true then
return mw.smw.info(smwResult['error'], 'error')
end
local month = monthMap[split[2]] or split[2]
local year = split[3]
return '[[Kategoria:NonNews – ' .. month .. ' ' .. year .. ']]'
end
return p