Модуль:Wikidata/Software

Кечал я укхазара: Википеди
Перейти к навигации Перейти к поиску

Содержит функции форматирования для свойств и квалификаторов о программном обеспечении.

formatVersionClaim[тоаде чура]

Альтернатива formatStatementDefault() для форматирования номера версии и даты её выхода.

Используется в шаблоне {{wikidata/p348}}.

Пример вызова:

{{#invoke:Wikidata|formatStatements|claim-module=Wikidata/Software|claim-function=formatVersionClaim|...}}

formatExtension[тоаде чура]

Альтернатива formatDatavalue() для форматирования расширений файлов.

Используется в шаблоне {{wikidata/p1195}}.

Пример вызова:

{{#invoke:Wikidata|formatStatements|data-module=Wikidata/Software|data-function=formatVersionClaim|...}}

catForDate[тоаде чура]

Кроме того, содержит функцию catForDate, которая добавляет категорию [[Начало категории в ГГГГ году]] при помощи шаблона вида {{#invoke:Wikidata/Software|catForDate|{{Wikidata|p571|параметры шаблона Wikidata/p571}}|Начало категории}}. Функция ищет год, который либо викифицирован, либо просто передан числом. После функция формирует и возвращает категорию.


local p = {}

--Property:P348
function p.formatVersionClaim( context, options, statement )
    local snak = context.formatSnak( options, statement.mainsnak )

	if ( statement.qualifiers ) then
		--Operation system
		if ( statement.qualifiers.P400 ) then
			snak = context.formatSnak( options, statement.qualifiers.P400[1] ) .. ': ' .. snak
		end

		--Name
		if ( statement.qualifiers.P1476 ) then
			snak = snak .. ' «' .. context.formatSnak( options, statement.qualifiers.P1476[1] ) .. '»'
		end

		--Date of release
		if ( statement.qualifiers.P577 ) then
			snak = snak .. ' (' .. context.formatSnak( options, statement.qualifiers.P577[1] ) .. ')'
		elseif ( statement.qualifiers.P585 ) then
			snak = snak .. ' (' .. context.formatSnak( options, statement.qualifiers.P585[1] ) .. ')'
		end
	end

	--References
    if ( options.references ) then
		snak = snak .. context.formatRefs( options, statement );
	end

    return snak
end

--Property:P1195
function p.formatExtension( context, options, value )
	return '<code>.' .. value .. '</code>'
end

return p