Hoppa till innehållet

Modul:Makae

Från Wikipedia

Dokumentation [visa] [redigera] [historik] [rensa sidcachen]


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

p = {}

function p.makae( frame )
	local args = frame:getParent().args
	local entity
	if args.maka and args.maka ~= '' then
		return 'Maka'
	end
	if args.make and args.make ~= '' then
		return 'Make'
	end
	if args['gift med'] and args['gift med'] ~= '' then
		return 'Gift med'
	end
	local default = 'Gift med'
	if args.wdid then 
		entity = mw.wikibase.getEntityObject(args.wdid)
	else
		entity = mw.wikibase.getEntityObject()
	end
	
	if not entity then 
		return default
	end
	local v = wikidata({entity = entity, property = 'P26', raw = 'true', rank='valid', noref='true', novalue=''})
	if not v or #v == 0 then
		return default
	end
	local kon = nil
	
	for i, j in pairs(v) do
		local entity2 = mw.wikibase.getEntityObject(j.item)
		local v2 = wikidata({entity = entity2, property = 'P21', raw = 'true', rank='valid', noref='true'})
		if not v2 or #v2 == 0 then
			return default
		end
		for i2, j2 in pairs(v2) do
			if not kon then -- om kön tidigare inte är angivet
				if j2.item == 'Q6581097' then -- och nu anges könet på makean är man
					kon = 'Make' 
				elseif j2.item == 'Q6581072' then -- och nu anges könet på makean är kvinna
					kon = 'Maka'
				else -- Och nu anges alternativ könsidentitet
					return default
				end
			elseif kon == 'Make' and j2.item == 'Q6581097' then -- Makae nr två är också man
				-- just fine
			elseif kon == 'Make' and j2.item ~= 'Q6581097' then -- Makea nr två är inte samma som de förra
				return default
			elseif kon == 'Maka' and j2.item == 'Q6581072' then -- Makae nr två är också kvinna
				-- just fine
			elseif kon == 'Maka' and j2.item ~= 'Q6581072' then -- Makea nr två är inte samma som de förra
				return default
			else
				return default
			end
		end
	end
	if kon and (kon == 'Make' or kon == 'Maka') then
		return kon
	else
		return default
	end
end

return p