Module:ISBN/sandbox

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
Category:Module sandboxes