Modul:Makae
Utseende
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