Moduł:Information

Z Nonsensopedii, polskiej encyklopedii humoru
Wersja z dnia 15:11, 9 mar 2020 autorstwa Ostrzyciel (dyskusja • edycje) (szkic taki)
(różn.) ← przejdź do poprzedniej wersji • przejdź do aktualnej wersji (różn.) • przejdź do następnej wersji → (różn.)

Moduł generujący tabelkę w szablonie {{Information}} i ustawiający odpowiednie własności semantyczne. Instrukcję korzystania znajdziesz na stronie Nonsensopedia:Opisywanie grafik.

Zobacz też: Moduł:InformationProvider, który pobiera informacje o plikach.


-- funkcje lokalne

-- funkcja pomocnicza do scalania tabel atrybutów
local function appendSubtable(t, key, value)
	t[key] = t[key] or {}
	table.insert(t[key], value)
end

-- ustawianie kilku w miarę prostych propów
local function setBasicProps(args)
	local props = {}
	
	-- caption
	if args['caption'] then
		appendSubtable(props, 'Ma podpis pliku', args['caption'])
		-- add row
	else
		appendSubtable(props, 'Nie ma podpisu pliku', true)
	end
	
	-- description
	if args['description'] then
		appendSubtable(props, 'Ma opis', args['description'])
		-- add row
	else
		appendSubtable(props, 'Nie ma opisu', true)
		-- add warning
	end
	
	-- confirmation
	if args['confirmation'] then
		appendSubtable(props, 'Ma potwierdzenie licencji', args['confirmation'])
		-- add row
	end
end

-- funkcje eksportowane
local p = {}

-- zrób cuda
function p.information(frame)
	args = {}
	for name, value in pairs( frame:getParent().args ) do 
		if value ~= '' then
			local name1 = string.gsub( string.lower(name), ' ', '_')
			args[name1] = value
		end
	end
end

return p