Modul:Fyr

Från Wikipedia

Dokumentationen för denna modul kan skapas på Modul:Fyr/dok

local p = {}

local wikidata = require('Modul:Wikidata2').formatStatementsFromLua

function p.fyr(frame)
	local args = frame:getParent().args
	--local args = frame.args
	local qid = args.id:match('Q%d+')
	if not qid  then
		return nil
	end
	local entity = mw.wikibase.getEntityObject( qid )
	if not entity then 
		return nil
	end
	local a = {}
	
	local b = (wikidata({entity = entity, property = 'P18', enbarten = 'ja' , noref = 'ja'}) or '') -- bild
	b = mw.getCurrentFrame():preprocess('{{Bild|' .. b .. '|50px}}')
	table.insert(a, mw.text.tag('td', {rowspan="2"}, b))
	
	b = wikidata({entity = entity, property = 'P1448', enbarten = 'ja' , noref = 'ja'})  -- officiellt namn
	b = mw.text.tag('b', {}, b)
	if entity.sitelinks and entity.sitelinks.svwiki then --kollar om det finns en svensk sitelink
		b = '[[' .. entity.sitelinks.svwiki.title .. '|' .. b .. ']]'
	end
	table.insert(a, mw.text.tag('td', {}, b .. ' [[File:Wikidata-logo.svg|höger|20px|länk=:d:' .. qid ..']]' ))
	
	b = wikidata({entity = entity, property = 'P1030', avoidqualifier = 'P582', langpref = 'sv', noref = 'ja'})  --fyrkaraktär
	local c = wikidata({entity = entity, property = 'P3994', noref = 'true'})
	if c and c ~= '' then
		b = b .. ', [[Racon]](' .. c .. ')'
	end
	table.insert(a, mw.text.tag('td', {}, b))
	
	b = wikidata({entity = entity, property = 'P2923', avoidqualifier = 'P582', noref = 'ja'}) -- lyshöjd
	table.insert(a, mw.text.tag('td', {}, b))
	
	c = wikidata({entity = entity, property = ' P2929', preferqualifier = 'P462', enbarten = 'ja', noref = 'ja'}) --lysvidd med färg
	if c and c ~= '' then
		b = c
	else
		b = wikidata({entity = entity, property = 'P2929', avoidqualifier = 'P582', noref = 'ja'}) -- lysvidd utan slutdatum
	end
	table.insert(a, mw.text.tag('td', {}, b))
	
	b = wikidata({entity = entity, property = 'P3562', noref = 'ja'})
	table.insert(a, mw.text.tag('td', {}, b))
	
	b = wikidata({entity = entity, property = 'P3563', noref = 'ja'})
	table.insert(a, mw.text.tag('td', {}, b))	
		
	a = mw.text.tag('tr', {}, table.concat(a))
	
	local a2 = {}
	
	b = wikidata({entity = entity, property = 'P625', primary = 'no', noref = 'yes', region = 'SE'})
	table.insert(a2, mw.text.tag('td', {colspan="2"}, b))
	
	table.insert(a2, mw.text.tag('td', {colspan="4"}, (args.beskrivning or '') ))
	
	a2 = mw.text.tag('tr', {}, table.concat(a2))
	
	return a .. a2
end

return p