Modulo:Sandbox/ValterVB/ISSN

local getArgs = require('Module:Arguments').getArgs
local p = {}

function p.ISSN(frame)
    local t = getArgs(frame)
	local id = t[1]
    
    result=
    8*tonumber(string.sub (id, 5 , 5))+
	7*tonumber(string.sub (id, 6 , 6))+
	6*tonumber(string.sub (id, 7 , 7))+
	5*tonumber(string.sub (id, 8 , 8))+
	4*tonumber(string.sub (id, 10 , 10))+
	3*tonumber(string.sub (id, 11 , 11))+
	2*tonumber(string.sub (id, 12 , 12))
    result=tostring(((-result) % 11))
    
    if result=="10" then
      result = "X"
    elseif result=="11" then
      result = "0"
    end
    return result
end

return p