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

Перейти к навигации Перейти к поиску
добавлена возможность отключения подгрузки Викиданных
imported>Putnik
(добавлена возможность отключения подгрузки Викиданных)
Строка 286: Строка 286:
wbStatus, entity = pcall( mw.wikibase.getEntityObject, id )
wbStatus, entity = pcall( mw.wikibase.getEntityObject, id )
else
else
wbStatus, entity = pcall( mw.wikibase.getEntityObject );
end
end


Строка 382: Строка 383:


for _, propertyId in ipairs( propertyIds ) do
for _, propertyId in ipairs( propertyIds ) do
local selector = selectors[_];
local selector;
local propertyClaims = mw.wikibase.getAllStatements( entityId, propertyId );
if selectors ~= nil then
selector = selectors[_] or selectors[propertyId] or propertyId;
else
selector = propertyId;
end
 
local fakeAllClaims = {};
local fakeAllClaims = {};
fakeAllClaims[propertyId] = propertyClaims;
fakeAllClaims[propertyId] = mw.wikibase.getAllStatements( entityId, propertyId );
local filteredClaims = WDS.filter( fakeAllClaims, selector .. '[rank:preferred, rank:normal]' );
local filteredClaims = WDS.filter( fakeAllClaims, selector .. '[rank:preferred, rank:normal]' );
Строка 396: Строка 402:
local endBoundaries = p.getTimeBoundariesFromQualifier( context.frame, context, claim, 'P582' );
local endBoundaries = p.getTimeBoundariesFromQualifier( context.frame, context, claim, 'P582' );


if ( (startBoundaries == nil or ( startBoundaries[2] <= boundaries[1]))
if ( startBoundaries == nil or startBoundaries[2] <= boundaries[1] ) and
and (endBoundaries == nil or ( endBoundaries[1] >= boundaries[2]))) then
( endBoundaries == nil or endBoundaries[1] >= boundaries[2] )
then
table.insert( results, claim.mainsnak );
table.insert( results, claim.mainsnak );
end
end
Строка 564: Строка 571:
formatPropertyDefault = formatPropertyDefault,
formatPropertyDefault = formatPropertyDefault,
formatStatementDefault = formatStatementDefault,
formatStatementDefault = formatStatementDefault,
getPropertyInBoundaries = getPropertyInBoundaries,
getTimeBoundariesFromQualifier = p.getTimeBoundariesFromQualifier,
getTimeBoundariesFromQualifiers = p.getTimeBoundariesFromQualifiers,
wrapSnak = wrapSnak,
wrapSnak = wrapSnak,
wrapStatement = wrapStatement,
wrapStatement = wrapStatement,
Строка 1095: Строка 1105:
if (cached ~= nil) then return cached; end
if (cached ~= nil) then return cached; end


local wbStatus, propertyEntity = pcall( mw.wikibase.getEntity, propertyId );
if wbStatus ~= true or not propertyEntity then
if wbStatus ~= true or not propertyEntity then
return nil;
return nil;
Строка 1414: Строка 1425:


return value
return value
end
-- ability to disable loading Wikidata
if args.entityId == '-' then
return ''
end
end


Анонимный участник

Навигация