local mWikidata = require('Modulo:Wikidata')
local p = {}


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}) .. ')'
          text = text .. '\n|-\n'
          break
        end
       end
   return text
end


function p.main(frame)
        local text ='{| class="wikitable"\n|-\n! Grado!!\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
        


       text = text .. mWikidata._getQualifier({'P450','P1545',n=mWikidata._indexOf({'P450',mWikidata._getId(),from='Q111240'}),from='Q111240'})




       text = text .. '| Comandante || ' .. mWikidata._getProperty( { 'P1029', qualifier='P39', qualifiervalue='Q20113945' } ) --comandante
       text = text .. '\n|-\n'
     
       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 .. '|}'  
 
      return string.format('%s',text) 
end

return p