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


function p.equipaggio(ruoli, qualificatore, ruolo)
       local text =""
       for _,v in pairs(ruoli) do
        if v == qualificatore then
          text = text .. '| ' ..ruolo.. ' || ' .. mWikidata._getProperty( { 'P1029', qualifier='P39', qualifiervalue=qualificatore } )
          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 .. '| 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 .. '|}'  
 
      -- return string.format('%s',ruoli[1]) 
      return string.format('%s',text) 
end

return p