require('strict')
local p = {}
local getArgs = require('Module:Arguments').getArgs
local error_message = require('Module:Error')['error']
local function check_isbn(args)
return require('Module:Check isxn').check_isbn({args = args})
end
function p._ISBN(args)
if not args[1] then
return error_message({message = 'Missing ISBN'})
end
local source = '[[Special:BookSources/' .. args[1] .. '|' .. (args[2] or 'ISBN') .. ' ' .. args[1] .. ']]'
local check = check_isbn({[1] = args[1], ['error'] = error_message({message = ' Invalid ISBN', tag = 'span'})})
local cat = (mw.title.getCurrentTitle():inNamespaces(0) and '[[Category:' .. 'Pages with ISBN errors' .. ']]') or ''
return source .. check .. cat
end
function p.ISBN(frame)
return p._ISBN(getArgs(frame))
end
return p