Module:Species

local p = {}; local cargo = mw.ext.cargo; local utils = require( "Module:Utils" );

function p.species(frame) local temp_res = {}; local fstr = utils.toNumberedTable(frame.args[2]); local results = cargo.query(frame.args[1], utils.trimBrackets(frame.args[3]), utils.toTable(utils.trimBrackets(frame.args[4]))); for _, result in ipairs(results) do   	local temp_item = {'|-\n'}; for r, fv in ipairs( fstr ) do local v = result["'" .. tostring(r) .. "'"];		   temp_item[#temp_item+1] = '|'; if (v ~= nil) then if fv == 'name' then temp_item[#temp_item+1] = ' id="' .. v .. '" |' .. v .. ''; elseif fv == 'text' then temp_item[#temp_item+1] = v;		   elseif fv == 'num' then temp_item[#temp_item+1] = v;		   end end temp_item[#temp_item+1] = '\n'; end temp_res[#temp_res+1] = table.concat(temp_item,""); end local restbl = table.concat(temp_res,""); return restbl; end

return p