79 055
правок
Marat-avgust (бәхәс | кертем) |
Marat-avgust (бәхәс | кертем) (Marat-avgust кулланучысының (бәхәс) 2089974 үзгәртүеннән баш тарту) |
||
-- settings, may differ from project to project
local categoryLinksToEntitiesWithMissingLabel = '[[
local categoryLocalValuePresent = '[[
local outputReferences = true;
return tonumber(sign .. oh), tonumber(sign .. om);
end )(str)
return tonumber(os.time({year=Y, month=M, day=D, hour=(h+oh), min=(m+om), sec=s}))
end
-- Выбирает свойства по property id, дополнительно фильтруя их по рангу
local function selectClaims( context, options,
if ( not context ) then error( 'context not specified'); end;
if ( not options ) then error( 'options not specified'); end;
if ( not options.entity ) then error( 'options.entity is missing'); end;
if ( not
local allPropertyClaims = options.entity.claims[ string.upper( propertyId ) ];
if ( not allPropertyClaims ) then
return nil;
--Поиск предпочтительного ранга
local requiredRank = 'normal' -- ранг по умолчанию (deprecated не используем)
-- если есть хотя бы один preferred, используем только их
for i, statement in pairs( allPropertyClaims ) do
if (statement.rank == 'preferred') then
requiredRank = 'preferred';
break
end
end
local result = {};
if ( allPropertyClaims[0] ) then
for i = 0, #allPropertyClaims do
local statement = allPropertyClaims[i]
if (statement.rank == requiredRank) then
result[ #result + 1 ] = statement;
else
for i, statement in pairs( allPropertyClaims ) do
if (statement.rank == requiredRank) then
result[ #result + 1 ] = statement;
end
end
end
if (
return nil;
end
elseif datavalue.type == 'monolingualtext' then
-- моноязычный текст (строка с указанием языка)
return function( context, options, value ) return '<span class="lang" lang="' .. value.language .. '">' .. value.text .. '</span>' end;
else▼
▲ end
▲ end;
elseif datavalue.type == 'globecoordinate' then
-- географические координаты
if label then
end
-- сообщение об отсутвии локализованного названия
-- not good, but better than nothing
return '[[
end
-- если значение передано в параметрах вызова то выводим только его
if frame.args.value and frame.args.value ~= '' then
if plain or frame.args.nocat or frame:callParserFunction( '#property', frame.args.property )
-- опция, запрещающая оформление значения, поэтому никак не трогаем▼
return
-- если трогать всё-таки можно, добавляем категорию-маркер▼
return args.value .. categoryLocalValuePresent;▼
end
▲ -- опция, запрещающая оформление значения, поэтому никак не трогаем
▲ if plain or frame.args.nocat or frame:callParserFunction( '#property', frame.args.property ) == '' then
▲ return frame.args.value
▲ end
▲ -- если трогать всё-таки можно, добавляем категорию-маркер
▲ return args.value .. categoryLocalValuePresent;
end
|