local mWikidata = require('Modulo:Wikidata')
local p = {}
local agenzia
function p.nomeagenzia(agenzia)
agenzia = string.gsub(agenzia,'Q42262', '[['.. mw.wikibase.sitelink('Q42262') ..'|ESA]]')
agenzia = string.gsub(agenzia,'Q392953', '[['.. mw.wikibase.sitelink('Q392953') ..'|ASI]]')
agenzia = string.gsub(agenzia,'Q23548', '[['.. mw.wikibase.sitelink('Q23548') ..'|NASA]]')
return agenzia
end
function p.equipaggio(ruoli, qualificatore, ruolo)
local idNome
local text =""
for _,v in pairs(ruoli) do
if v == qualificatore then
text = text .. '| ' ..ruolo.. ' || ' .. mWikidata._getProperty( { 'P1029', qualifier='P39', qualifiervalue=qualificatore } )
idNome = mWikidata._getProperty( { 'P1029', qualifier='P39', qualifiervalue=qualificatore,formatting='raw' } )
text = text .. ' ('.. mWikidata._getQualifier({'P450','P1545',n=mWikidata._indexOf({'P450',mWikidata._getId(),from=idNome}),from=idNome}) .. ')'
if agenzia ~= mWikidata._getProperty({'P108',qualifier='P794',qualifiervalue='Q11631',from=idNome,formatting='raw'}) then
text = text .. ' - '.. p.nomeagenzia(mWikidata._getProperty({'P108',qualifier='P794',qualifiervalue='Q11631',from=idNome, formatting='raw',conjunction='/'}))
end
text = text .. '\n|-\n'
break
end
end
return text
end
function p.main(frame)
local text ='{| class="wikitable"\n|-\n! Ruolo!!Equipaggio\n|-\n'
local equipaggio, membriequipaggio
local ruoli={}
membriequipaggio = mWikidata._N( { 'P1029' } )
for i=0,membriequipaggio,1
do
ruoli[i]=mWikidata._getQualifier( { 'P1029', 'P39', n=i+1, formatting='raw' } )
end
agenzia = mWikidata._getProperty({'P137',formatting='raw'})
text = text .. p.equipaggio(ruoli, 'Q20113945', 'Comandante')
text = text .. p.equipaggio(ruoli, 'Q20644849', 'Pilota')
text = text .. p.equipaggio(ruoli, 'Q20114066', 'Pilota del modulo di comando')
text = text .. p.equipaggio(ruoli, 'Q20114009', 'Pilota del modulo lunare')
text = text .. p.equipaggio(ruoli, 'Q20162978', 'Pilota') -- dello Space Shuttle
text = text .. p.equipaggio(ruoli, 'Q20116202', 'Specialista di missione 1')
text = text .. p.equipaggio(ruoli, 'Q20163477', 'Specialista di missione 2')
text = text .. p.equipaggio(ruoli, 'Q20163680', 'Specialista di missione 3')
text = text .. p.equipaggio(ruoli, 'Q20199279', 'Specialista di missione 4')
text = text .. p.equipaggio(ruoli, 'Q20199285', 'Specialista di missione 5')
text = text .. p.equipaggio(ruoli, 'Q20203864', 'Specialista di missione 6')
text = text .. p.equipaggio(ruoli, 'Q20443756', 'Ingegnere di volo 1')
text = text .. p.equipaggio(ruoli, 'Q20443763', 'Ingegnere di volo 2')
text = text .. p.equipaggio(ruoli, 'Q20163858', 'Specialista del carico utile 1')
text = text .. p.equipaggio(ruoli, 'Q20163870', 'Specialista del carico utile 2')
text = text .. p.equipaggio(ruoli, 'Q20190803', 'Specialista del carico utile 3')
text = text .. p.equipaggio(ruoli, 'Q20623701', 'Turista spaziale')
text = text .. '|}'
text = text .. "\n<small>Tra parentesi il numero di voli spaziali completati da ogni membro dell'equipaggio, inclusa questa missione.</small>"
return string.format('%s',text)
end
return p