Документация
local p = {}
-- Форматирование таблицы утверждений
local function formatSnaks(snaks)
return mw.dumpObject(snaks)
end
-- Форматирование утверждения
local function formatSnak(snak)
return mw.dumpObject(snak)
end
-- Форматирование таблицы квалификаторов
local function formatQualifiers(qualifiers,property)
if nill==qualifiers[property] then
return '—'
else
local qualifier=qualifiers[property]
return formatSnaks(qualifier)
end
end
-- Форматирование таблицы примечаний
local function formatReferences(references)
return 'Не поддерживается'
end
-- Отображение таблицы по утверждениям на ВД
-- @entityId Код сущности на ВД (в формате Qxxxx) или nil
-- @propertyId Код свойства на ВД (в формате Pxxxx)
-- @qualifiers Список квалификаторов, которые нужно вывести
function p.renderTable(entityId,propertyId,qualifiers)
local entity=mw.wikibase.getEntity(entityId)
local claims=entity.claims[propertyId]
if nil==claims then
return "Информация отсутствует в Викиданных"
end
local result='';
for i,claim in ipairs(claims) do
result=result..'|-\n'
for j,qualifier in ipairs(qualifiers) do
result=result..'| '
if qualifier=='mainsnak' then
result=result..formatSnak(claim.mainsnak)
elseif qualifier=='references' then
result=result..formatReferences(claim.references)
else
result=result..formatQualifiers(claim.qualifiers,qualifier)
end
result=result..'\n'
end
end
return result
end
-- Отображение истории версий с ВД
local WD_VERSION_PROPERTY='P348';
function p.versionHistory(frame)
return p.renderTable(frame.args[1],WD_VERSION_PROPERTY,{'mainsnak','P577','references'});
end
return p