Модуль:Wikidata/littleutils
Дакументацыю да гэтага модуля можна стварыць у Модуль:Wikidata/littleutils/Дакументацыя
local p = {}
-- Вяртае ID значэнні ўласцівасці (Qxxx)
-- Аргументы: id элемента (Qxxx), id уласцівасці (Pxxx)
function p.getValueId(frame)
local item, property = frame.args[1], frame.args[2]
local prop = mw.wikibase.getEntity(item):getBestStatements(property)
if prop[1] then
local id = prop[1].mainsnak.datavalue.value.id
if id ~= nil then return id end
end
end
-- Вяртае імя катэгорыі, фільтруючы вывад шаблонаў {{wikidata/}}. Напрыклад: {{wikidata/p19}}, {{wikidata/p20}}
-- Аргумент: нумар уласцівасці ў назве шаблона ('p19' і да т.п.)
function p.filterCategoryName(frame)
local s = mw.getCurrentFrame():expandTemplate { title='wikidata/' .. frame.args[1] }
s = s:gsub('^.-(Катэгорыя:[^]]+).-$', '%1')
return s
end
-- Правярае на наяўнасць патрэбнага значка для бягучай старонкі і выводзіць штрафную катэгорыю, калі яго няма
-- Аргументы: id значка (Qxxx), назва катэгорыі без прасторы імёнаў
function p.checkBadge( frame )
local badgeId, penaltyCategory = frame.args[1], frame.args[2]
local entity = mw.wikibase.getEntity()
if entity and entity.sitelinks and entity.sitelinks.bewiki and entity.sitelinks.bewiki.badges then
for i, elementId in ipairs( entity.sitelinks.bewiki.badges ) do
if elementId == badgeId then
return ''
end
end
end
return '[[Катэгорыя:' .. penaltyCategory .. ']]'
end
return p