Modulis:Šaha ārējās saites
Moduļa dokumentācija[izveidot]
Iespējams, vēlies izveidot dokumentāciju šim modulim Vari eksperimentēt šī moduļa smilšu kastes (labot | labojumi) un testu (izveidot) lapā Lūdzu, kategorijas pievieno dokumentācijas apakšlapā. Moduļa apakšlapas. |
local p = {}
local getArgs = require('Module:Arguments').getArgs
local entity = mw.wikibase.getEntityObject()
local enikona = mw.getCurrentFrame():expandTemplate{ title="en ikona" }
function makeLink(url, text)
result = "* [" .. url .. " " .. text .. "] "
return result
end
function get_param(args,names)
result = ''
for _,name in ipairs(names) do
if args[name] then
result = args[name]
break
end
end
return result
end
local data = {
{{'fide','fideId'},'http://ratings.fide.com/card.phtml?event=','Šahista profils FIDE mājaslapā','P1440'},
{{'chessgames','chessgamesId'},'http://www.chessgames.com/perl/chessplayer?pid=','Šahista profils chessgames.com mājaslapā','P1665'},
{{'365chess'},'http://www.365chess.com/players/','Šahista profils 365chess.com mājaslapā','P3314'},
{{'chesstempo'},'http://chesstempo.com/gamedb/player/','Šahista profils chesstempo.com mājaslapā','P3315'},
{{'chess-db'},'http://chess-db.com/public/pinfo.jsp?id=','Šahista profils chess-db.com mājaslapā',''},
{{'iccf','iccfId'},'https://www.iccf.com/player?id=','Korespondecšahista profils ICCF mājaslapā','P3316'},
{{'olimp'},'http://www.olimpbase.org/players/','Šahista profils olimpbase.org mājaslapā (Pasaules šaha olimpiāde)',''},
{{'olimp2'},'http://www.olimpbase.org/playerst/','Šahista profils olimpbase.org mājaslapā (Pasaules komandu šaha čempionāts)',''},
{{'olimp3'},'http://www.olimpbase.org/playerse/','Šahista profils olimpbase.org mājaslapā (Eiropas komandu šaha čempionāts)',''},
{{'olimp4'},'http://www.olimpbase.org/playersy/','Šahista profils olimpbase.org mājaslapā (Pasaules studentu komandu šaha čempionāts)',''},
{{'olimp5'},'http://www.olimpbase.org/playersq/','Šahista profils olimpbase.org mājaslapā (Klāras Benediktas kauss)',''},
{{'olimpw'},'http://www.olimpbase.org/playersw/','Šahista profils olimpbase.org mājaslapā (Pasaules sieviešu šaha olimpiāde)',''},
{{'olimp2w'},'http://www.olimpbase.org/playersv/','Šahista profils olimpbase.org mājaslapā (Pasaules sieviešu komandu šaha čempionāts)',''},
{{'olimp3w'},'http://www.olimpbase.org/playersu/','Šahista profils olimpbase.org mājaslapā (Eiropas sieviešu komandu šaha čempionāts)',''}
}
function one_id(id,link,label,wdprop)
local result
if id and id~='' then
result = makeLink(link .. id, label) .. enikona
elseif wdprop~='' and entity and entity.claims[wdprop] then
if entity.claims[wdprop][1].mainsnak.snaktype == 'value' then
result = makeLink(link .. entity.claims[wdprop][1].mainsnak.datavalue.value, label) .. enikona
end
end
return result--table.concat( {id,link,label,wdprop,entity.claims[wdprop][1].mainsnak.datavalue.value}, "\n" )--result
end
function p._main(args)
local outputtable = {}
--local parentArgs = frame:getParent().args
for _, params in pairs( data ) do
table.insert(outputtable,one_id(get_param(args,params[1]),params[2],params[3],params[4]))
end
return table.concat( outputtable, "\n" )
end
function p.main(frame)
local args = getArgs(frame)
return p._main(args)
end
return p