Moduł:GNM

Z Nonsensopedii, polskiej encyklopedii humoru

Ustawia atrybut SMW z którego roku pochodzi ten GNM, jeśli da się to automagicznie ustalić.


local tools = require('Moduł:Narzędzia')
local p = {}

function p.setSMW(frame)
	local args = tools.getArgs(frame)
	
	if args.klucz then
		mw.smw.set({
			['Klucz sortowania'] = args.klucz
		})
		return
	end
	
	local title = mw.title.getCurrentTitle().fullText
	local ts = 0
	local record = mw.smw.getQueryResult{
		'[[Jest głosowaniem strony::' .. title .. ']]',
		'?Jest z roku=rok',
		link = 'none'
	}.results[1]

	if record then
		ts = mw.ustring.match(record.fulltext, '/(%d%d%d%d%-%d%d%-%d%d)/')
		ts = mw.ustring.gsub(ts, '-', '')
	else
		record = mw.smw.getQueryResult{
			'[[Jest obiektem wyników FotoŁowcy::' .. title .. ']]',
			'?Jest z roku=rok',
			'?Zajął miejsce=miejsce',
			link = 'none'
		}.results[1]
	
		if record then
			-- dla świętego spokoju układamy GNM-y Łowcy na początek roku
			ts = record.printouts.rok[1] .. mw.ustring.format('%04d', record.printouts.miejsce[1])
		end
	end
	
	if not record then 
		return mw.smw.info('Nie znaleziono głosowania GNM, nie podano też klucza sortowania. Sprawdź dokumentację szablonu.', 'error')
	end
	
	local year = record.printouts.rok[1]
	mw.smw.set({
		['GNM rok'] = year,
		['Klucz sortowania'] = ts
	})
end

return p