Модуль:Wikidata: различия между версиями

Содержимое удалено Содержимое добавлено
перерабатывать p1559[language:!ru] в p1559 перед выводом как якоря, per ВП:Ф-ВД#Служебные данные проскочили в карточку
запрет источников не только по d:Property:P248, но и по d:Property:P1433
Строка 1404:
-- после проверки всех аргументов -- вызов функции оформления для свойства (набора утверждений)
return formatProperty( args )
end
 
--[[
Функция проверки на присутствие источника в списке нерекомендованных.
 
Принимает: таблицу snak'ов
Возвращает: true/false
]]
function isReferenceDeprecated( snaks )
if not snaks then
return false
end
if snaks.P248
and reference.snaks.P248[1]
and reference.snaks.P248[1].datavalue
and reference.snaks.P248[1].datavalue.value.id ) then
then
local entityId = reference.snaks.P248[1].datavalue.value.id;
if getConfig( getConfig ('deprecatedSources', entityId ) ) then
return true
end
elseif snaks.P1433
and reference.snaks.P248P1433[1]
and reference.snaks.P248P1433[1].datavalue
and reference.snaks.P248P1433[1].datavalue.value.id ) then
then
local entityId = reference.snaks.P248P1433[1].datavalue.value.id;
if getConfig(not getConfig ('deprecatedSources', entityId )) then
return true
end
end
return false
end
 
Строка 1433 ⟶ 1465 :
local displayCount = 0;
for _, reference in pairs( statement.references ) do
local entityId = nil;
if ( reference.snaks
andif not isReferenceDeprecated( reference.snaks.P248 ) then
hasNotDeprecated = true;
and reference.snaks.P248[1]
and reference.snaks.P248[1].datavalue
and reference.snaks.P248[1].datavalue.value.id ) then
local entityId = reference.snaks.P248[1].datavalue.value.id;
if (not getConfig ('deprecatedSources', entityId )) then
hasNotDeprecated = true;
end
end
end
Строка 1448 ⟶ 1474 :
local display = true;
if ( hasNotDeprecated ) then
if isReferenceDeprecated( reference.snaks ) then
display = false;
and reference.snaks.P248
and reference.snaks.P248[1]
and reference.snaks.P248[1].datavalue
and reference.snaks.P248[1].datavalue.value.id ) then
local entityId = reference.snaks.P248[1].datavalue.value.id;
if ( getConfig ('deprecatedSources', entityId ) ) then
display = false;
end
end
end