local p = {}
local function getGenderLabelForEntityId( entityId )
local entity = mw.wikibase.getEntity( entityId );
local femLabels = entity.claims['P18'];
if femLabels
then
return femLabels[1].mainsnak.datavalue.value;
else
return 'No image.svg'
end
return entity:getLabel();
end
local function formatGenderLabelForEntityId( entityId )
local la = getGenderLabelForEntityId( entityId );
-- получение ссылки по идентификатору
local label = mw.wikibase.label( entityId );
local link = mw.wikibase.sitelink( entityId );
local doo = '[[File:' .. la .. '|40px|border]]';
if label then
if link then
return doo ..'[[' .. link .. '|' .. label .. ']]'
else
return doo ..'' .. label .. ''
end
else return nil
end
end
function p.formatEntityWithGenderClaim( context, options, statement )
local snak = statement.mainsnak;
if snak and snak.datavalue
and snak.datavalue.value
and snak.datavalue.value['numeric-id'] then
local entityId = 'Q' .. snak.datavalue.value['numeric-id'];
return formatGenderLabelForEntityId( entityId );
end
--References
if ( options.references ) then
snak = snak .. context.formatRefs( options, statement );
end
return context.formatSnak( options, snak )
end
return p