Модуль:Вікізьвесткі/P1618

Зьвесткі зь Вікіпэдыі — вольнай энцыкляпэдыі
 
Дакумэнтацыя модулю Дакумэнтацыя модулю[прагляд] [рэдагаваць] [гісторыя] [абнавіць]

Модуль для адлюстраваньня ўласьцівасьці Вікізьвестак d:Property:P1618 (нумар гульца).

Асноўная функцыя модулю formatPropertyP1618 вяртае нумар гульца, калі парамэтар club супадае з значэньнем кваліфікатара «спартовы клюб» (P54). У парамэтар club трэба перадаць нумар уласьцівасьці Вікізьвестак бяз прэфіксу Q (напрыклад, 191101 для БАТЭ).

Выклік модулю адбываецца праз шаблён {{Вікізьвесткі/p1618}}.

Выкарыстоўваецца ў шаблёне {{Футбаліст2}} (праз падшаблён {{Футбаліст2/Кар’ера}}.
local p = {}

function p.formatPropertyP1618( context, options, statement )
	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 missing' ); end;
	
	local claims = context.selectClaims( options, options.property );
    if (claims == nil) then
        return ''
    end
    
    for i, claim in ipairs(claims) do
    	if (claim.qualifiers and claim.qualifiers.P54) then
    		if (tostring(claim.qualifiers.P54[1].datavalue.value["numeric-id"]) == options.club) 
    			and claim.mainsnak.snaktype == 'value' then
    				return claim.mainsnak.datavalue.value
    		end
    	end
    end
    return ''
end

return p