Ugrás a tartalomhoz

„Modul:CheckISBN” változatai közötti eltérés

A Wikipédiából, a szabad enciklopédiából
[ellenőrzött változat][ellenőrzött változat]
Tartalom törölve Tartalom hozzáadva
j
Bean49Bot (vitalap | szerkesztései)
Bot: Modul:No globals helyett require('strict')
 
(26 közbenső módosítás, amit 2 másik szerkesztő végzett, nincs mutatva)
1. sor: 1. sor:
require('strict')
local args = {}

local lang = mw.getContentLanguage()
local args = {}

local ou = ''
local ou = ''
function pop(mi,mv1,mv2,mv3,mv4,mv5) -- idézőjeles rész és 5 bővítmény az ou számára
local function pop(...) -- idézőjeles rész és bővítmények az ou számára
-- Ha nem kell, ne zabálja a memóriát
if not mi then return else ou = ou..mi..'\n ' end
do return end
if not mv1 then return else ou = ou..mv1..'\n' end
local mi = {...}
if not mv2 then return else ou = ou..mv2..'\n' end
for _, v in ipairs(mi) do
if not mv3 then return else ou = ou..mv3..'\n' end
if not mv4 then return else ou = ou..mv4..'\n' end
ou = ou .. v .. '\n'
mw.log(v)
if not mv5 then return else ou = ou..mv5..'\n' end
end
end
end


local hibavan = false
local function trim(str)
local kategorizalas_van = false

if type( str ) ~= "string" or str == nil then
local function error(kategorizalas_kell, about)
return ''
-- Enclose errorMsg with <span>
else return (str:gsub("^%s*(.-)%s*$", "%1"))
-- Precondition:
end -- extra brackets are necessary because gsub returns multiple values
-- about -- string
hibavan = true
if kategorizalas_kell then
kategorizalas_van = true
end
local r = about
if type( about ) == 'string' then
if #about == 0 then
r = 'Lua-hiba'
end
else
r = tostring( about )
end
return '<span class="error">' .. r .. '</span>'
end
end


function val_to_str(v)
local function isISBN10(str)
local v, chsum, chnum, chd, i, j, chnumdo, eloirt_hossz
if type(v) == 'string' then
v = str:gsub('[^%d]', '') -- a decimális jegyeken kívül mindent figyelmen kívül hagyunk
v = mw.ustring.gsub(v, '\n', '\\n')
pop('10', v)
if mw.ustring.match(mw.ustring.gsub(v, '[^\'"]', ''), '^"+$') then
chd = str:sub(-1, -1) -- check digit az utólsó
return "'" .. v .. "'"
pop(chd)
end
if chd == 'X' or chd == 'x' or tonumber(chd) ~= nil then
return '"' .. mw.ustring.gsub(v, '"', '\\"' ) .. '"'
if chd == 'X' or chd == 'x' then
else
chnum = 10
return type(v) == 'table' and table_to_str(v) or tostring(v)
eloirt_hossz = 9
end
else
end
chnum = string.byte(chd, 1) - string.byte('0', 1)

eloirt_hossz = 10
hibavan = false
end
kategorizalas_van = false
else

return false
function error(kategorizalas_kell,about )
end
-- Enclose errorMsg with <span>
pop(chd, chnum)
-- Precondition:
-- about -- string
if #v ~= eloirt_hossz then -- kötőjelek nélkül 10 karakter hosszúnak kell lennie
hibavan = true
return false
if kategorizalas_kell then kategorizalas_van = true end
end
local r = about
v = v:sub(1, 9)
if type( about ) == "string" then
if #about == 0 then
pop(v, chd)
r = "Error in Lua"
end
pop(chnum)
else
chsum = 0
r = tostring( about )
for j = 10, 2, -1 do
end
local elsbyte = string.byte(v, (11 - j))
return "<small><font color=\"black\">" ..' ('.. r..') ' .. "</font></small> "
chsum = chsum + (elsbyte - string.byte('0', 1)) * (11 - j)
end -- error()
end

pop(chsum)

chnumdo = chsum % 11

pop(chnumdo)
local function getArg(le,arg,alternativarg, assign )
if chnumdo == chnum then
-- Retrieve template argument
return true
-- Precondition:
else
-- le true értékkel jelzi, hogy levágható a paraméter végéről a felesleges vessző és pont
return false
-- arg -- string or number; argument identifier
end
-- alternativarg -- a paraméternek a másik neve
-- assign -- any, optional; default value
local r1 = args[ arg ]
local r2 = nil
if alternativarg ~= nil then r2 = args[ alternativarg ] end
if r1 == '' or r1 ==nil then r = r2 else r = r1 end
if r == '' then r = nil end
if type( r ) ~= "string" then
if type( assign ) == nil then
r = "{{{<" .. arg .. ">}}}" --ha r nem string tipus, azaz és assign nil érték
else
r = assign -- ha r nem string tipus, és assign nem nil
end
else -- r típusa string
if #r > 1 then -- ha r strint típus és legalább két karaktert tartalmaz
local utso_karakter = string.sub(r,-1,-1);
if le then
if utso_karakter == '.' or utso_karakter == ',' then r=string.sub(r,1,-2) end --lecsípjük az utólsó pontot, vagy vesszőt
end
end
end
return r
end
end


local function isISBN13(str)
local function getConf(conf,alternativconf, assign ) -- itt eredetileg a frame nem paraméter
local v, chsum, chnum, chd, i, j, chnumdo
-- Retrieve template argument
v = str:gsub('[^%d]', '') -- a decimális jegyeken kívül mindent figyelmen kívül hagyunk
-- Precondition:
pop('v_1', v)
-- le true értékkel jelzi, hogy levágható a paraméter végéről a felesleges vessző és pont
chd = str:sub(-1, -1) -- check digit az utolsó
-- arg -- string or number; argument identifier
pop('chd_2', chd)
-- alternativarg -- a paraméternek a másik neve
if tonumber(chd) ~= nil then
-- assign -- any, optional; default value
chnum = string.byte(chd, 1) - string.byte('0', 1)
else
local r1 = config[ conf ]
return false
local r2 = nil
end
if alternativconf ~= nil then r2 = config[ alternativconf ] end
pop('chd_3, chnum_1', chd, chnum)
if r1 == '' or r1 ==nil then r = r2 else r = r1 end
if r == '' then r = nil end
if #v ~= 13 then -- kötőjelek nélkül 13 karakter hosszúnak kell lennie
if type( r ) ~= "string" then
return false
if type( assign ) == nil then
end
r = "{{{<" .. conf .. ">}}}" --ha r nem string tipus, azaz és assign nil érték
v = string.sub(v, 1, 12)
else
r = assign -- ha r nem string tipus, és assign nem nil
pop(v, chd)
end
else -- r típusa string
local elsbyte
chsum = 0
end
for j = 1, 12 do -- z_13 = (10 - Summa (i=1,12) (z_i*(3^((i+1)%2))%10) %10
return r
elsbyte = string.byte(v, j);
--pop(elsbyte)
chsum = chsum + (elsbyte - string.byte('0', 1)) * 3^((j+1)%2)
--pop(3^((j+1)%2))
end
pop(chsum)
chnumdo = (10 - chsum % 10) % 10
pop(chnumdo)
if chnumdo == chnum then
pop("true")
return true
else
pop("true")
return false
end
end
end

local function isISBN10( str)
local v,chsum,chnum,chd,i,j,chnumdo,eloirt_hossz
v=''
for w in string.gmatch(str, "%d") do -- a decimális jegyeken kívül mindent figyelmen kívül hagyunk
v=v..w
end
pop("10",v)
chd = string.sub (str,-1,-1); -- check digit az utólsó
pop(chd)
if chd == 'X' or chd == 'x' or tonumber(chd) ~= nil then
if chd == 'X' or chd == 'x' then chnum = 10; eloirt_hossz=9 else chnum = string.byte(chd,1) - string.byte('0',1);eloirt_hossz=10 end
else
return false
end
pop(chd,chnum)
if #v ~= eloirt_hossz then return false end -- kötőjelek nélkül a hossz 10 kell,hogy legyen
v=string.sub(v,1,9) --
pop(v, chd)
pop(chnum)
chsum = 0
for j = 10,2,-1 do
local elsbyte = string.byte(v,(11 - j))
chsum = chsum + (elsbyte - string.byte('0',1)) * (11-j)
end -- j ciklus
pop(chsum)
if chsum % 11 == 0 then chnumdo=0 else chnumdo = (chsum % 11) end
pop(chsum%11)
pop(chnumdo)
if chnumdo == chnum then return true else return false end
end -- isISBN10


local function isISBN13( str)
local v,chsum,chnum,chd,i,j,chnumdo,eloirt_hossz
v=''
for w in string.gmatch(str, "%d") do -- a decimális jegyeken kívül mindent figyelmen kívül hagyunk
v=v..w
end
pop("v_1",v)
chd = string.sub (str,-1,-1); -- check digit az utólsó
pop("chd_2",chd)
if tonumber(chd) ~= nil then
chnum = string.byte(chd,1) - string.byte('0',1)
else
return false
end
pop("chd_3, chnum_1",chd,chnum)
if #v ~= 13 then return false end -- kötőjelek nélkül a hossz 10 kell,hogy legyen
v=string.sub(v,1,12) --
pop(v, chd)
local elsbyte
chsum = 0
for j = 1,12 do -- z_13 = (10 - Summa (i=1,12) (z_i*(3^((i+1)%2))%10) %10
elsbyte = string.byte(v,j);
--pop(elsbyte)
chsum = chsum + (elsbyte - string.byte('0',1)) * 3^((j+1)%2)
--pop(3^((j+1)%2))
end -- j ciklus
pop(chsum)
chnumdo= chsum%10
chnumdo=(10-chnumdo) %10
pop(chnumdo)
if chnumdo == chnum then pop("true");return true else pop("true"); return false end
end -- isISBN13



local function isI(str)
local function isI(str)
local v, eloirt_hossz, i,j, str1, str2, vizsgalandok, mindketto, elso, masodik
local v, eloirt_hossz
v = str:gsub('[^%dXx]', '') -- a decimális jegyeken kívül mindent figyelmen kívül hagyunk
v=''
pop(v)
for w in string.gmatch(str, "[%dXx]") do -- a decimális jegyeken kívül mindent figyelmen kívül hagyunk
eloirt_hossz = 10
v=v..w
pop('előírt hossza', eloirt_hossz)
end
if #v == eloirt_hossz then
pop(v)
pop('tízes')
eloirt_hossz=10
return isISBN10(str)
pop("előírt hossza",eloirt_hossz)
if #v == eloirt_hossz then
elseif #v > eloirt_hossz then
pop('tizenhármas')
pop("tizes");return isISBN10(str)
return isISBN13(str)
elseif #v > eloirt_hossz then
else
pop("tizenhármas");return isISBN13(str)
elseif #v < eloirt_hossz then return false
return false
end
end
end
end --function isI(str)


local function isISBN( str)
local function isISBN(str, link, no_isbn)
if type(str) ~= 'string' then
local i,j
return error(false, 'Nem string bemenet az isISBN függvénynek')
local vizsgalandok={}
end
str=string.gsub(str,'[%a<>%[%]%-%(%)%/%=%"]','')
local vizsgalandok = {}
str=string.gsub(str,"ó",'')
str = str:gsub('[^%d%,Xx -]', '') -- minden ki, ami nem számjegy, vessző, X/x, szóköz vagy kötőjel
pop("str a ballaszt nélkül",str)
--[=[
for w in string.gmatch(str, "[^%,]+") do
local elso_szelet, masodik_szelet
w=trim(w)
elso_szelet = string.sub(str,1,-2)
pop("w",w.."\n")
masodik_szelet = string.sub(str,-1,-1)
table.insert(vizsgalandok,w);
pop("elso_szelet, masodik_szelet",elso_szelet,masodik_szelet)
end
local s=''
if masodik_szelet == 'X' then
local h=''
elso_szelet=string.gsub(elso_szelet,'[%a<>%[%]%-%(%)%/%=%"]','') -- (str,'[^%d%,X,x]','')
local helyes=true
elso_szelet=string.gsub(elso_szelet,"ó",'')
for i=1,#vizsgalandok do
str = elso_szelet .. masodik_szelet
if isI(vizsgalandok[i]) then s=s..' ISBN '..vizsgalandok[i]..','
else
pop("helyes előrehaladása",s)
str=string.gsub(str,'[%a<>%[%]%-%(%)%/%=%"]','') -- (str,'[^%d%,X,x]','')
else helyes=false;h=h..' '..error(true,"helytelen ISBN kód")..':'..vizsgalandok[i]..','
str=string.gsub(str,"ó",'')
pop("hibás előrehaladása",h)
end
end
--]=]
end
pop('str a ballaszt nélkül', str)
return helyes, string.sub(s,1,-2) , string.sub(h,1,-2)
for w in str:gmatch('[^%,]+') do
w = mw.text.trim(w)
pop('w', w .. '\n')
if w ~= '' then
table.insert(vizsgalandok, w)
end
end
local s = {}
local s_nyers = {}
local h = {}
local h_nyers = {}
local helyes = true
local formatstring
if link and no_isbn then
formatstring = '[[Speciális:Könyvforrások/%s|%s]]'
elseif link then
formatstring = '[[Speciális:Könyvforrások/%s|ISBN&nbsp;%s]]'
elseif no_isbn then
formatstring = '%s'
else
formatstring = 'ISBN %s'
end
for _, vi in ipairs(vizsgalandok) do
if isI(vi) then
table.insert(s, string.format(formatstring, vi:gsub('[ -]', ''), vi:gsub(' ', '&nbsp;')))
table.insert(s_nyers, vi)
pop('helyes előrehaladása', table.concat(s, ', '))
else
helyes = false
table.insert(h, error(true, 'helytelen ISBN kód') .. ': ' .. vi)
table.insert(h_nyers, vi)
pop('hibás előrehaladása', table.concat(h, ', '))
end
end
s = table.concat(s, ', ')
h = table.concat(h, ', ')
return helyes, s, h, s_nyers, h_nyers
end -- isISBN
end -- isISBN


local function _checkISBN(args)
local function _checkISBN(frame)
local jo_lista, mind
local jo_lista, mind
local alkategoriak = {}
local alkategoriak = {}
local isbn=nil
local isbn = args[1]
local link = (args.link ~= nil)
local no_isbn = (args['isbn szöveg nélkül'] ~= nil)
local hiba_jelzes = ''
local hiba_jelzes = ''
local milyen_lista = args[2]
isbn = getArg(true,1)

milyen_lista = getArg(true,2)
pop('a kapott argumentum', isbn)
pop('linkelve?', tostring(link))
-- ISBN lekezelése
if isbn then
pop('van isbn paraméter', isbn)
--isbn=string.gsub(isbn,"ISBN",'') -- a beleírt ISBN szövegeket kivesszük
local helyes
helyes, isbn, hiba_jelzes = isISBN(isbn, link, no_isbn)
if helyes then
pop('helyesek a paraméterek')
end
end
pop("a kapott argumentum", isbn)
-- ISBN lekezelése
if isbn then
pop("van isbn paraméter", isbn)
--isbn=string.gsub(isbn,"ISBN",'') -- a beleírt ISBN szövegeket kivesszük
local helyes=true
local isbn_str, hiba_str=''
helyes,isbn_str, hiba_str= isISBN(isbn)
isbn = isbn_str
hiba_jelzes=hiba_jelzes..hiba_str
if helyes then pop ("helyesek a paraméterek") end
end -- ISBN lekezelése
if milyen_lista then
if milyen_lista then
mind=false
mind = false
if milyen_lista == 'jólista' then jo_lista = true; else jo_lista = false; end
jo_lista = (milyen_lista == 'jólista')
else mind=true
else
mind = true
end
end
-- output összeállítása
-- output összeállítása
local s
s=''
if isbn then
if isbn then
if hiba_jelzes then
if hiba_jelzes then
if mind then s=isbn..' '
if mind then
if hibavan then s = s ..' '..hiba_jelzes..' '
s = isbn
if hibavan then
s = s ..' ' .. hiba_jelzes
-- a fölérendelt kategória marad hiba esetén
-- a fölérendelt kategória marad hiba esetén
if kategorizalas_van then s = s .. ' '.. "[[Kategória:Lapok helytelen ISBN kóddal]]" end
if kategorizalas_van then s = s .. ' [[Kategória:Lapok helytelen ISBN kóddal]]' end
end
end
else
else
if jo_lista then s = isbn..' '
if jo_lista then
s = isbn
else
elseif hibavan then
if hibavan then s = hiba_jelzes..' '
s = hiba_jelzes
-- a fölérendelt kategória marad hiba esetén
-- a fölérendelt kategória marad hiba esetén
if kategorizalas_van then s = s .. ' '.. "[[Kategória:Lapok helytelen ISBN kóddal]]" end
if kategorizalas_van then s = s .. ' [[Kategória:Lapok helytelen ISBN kóddal]]' end
end
end
end
end
end
end
end
end
end
if ou then s = s..ou end --ez csak nyomkövetésnél kell, de akkor nagyon
-- if ou then s = s..ou end --ez csak nyomkövetésnél kell, de akkor nagyon
-- s = s .. mw.dumpObject(args)
return s
return s
end
end


local function run(frame)
args = require('Modul:Arguments').getArgs(frame)
function run(frame)
return _checkISBN(args)
local pframe = frame:getParent()
args = pframe.args -- azok a paraméterek, amelyek a sablont kisérik a Pepo41/CCitPer --sablon hivása oldalon
config = frame.args -- az #invoke utasításban átadott paraméterek
return _checkISBN(frame)
end
end


local p = {
local p = {
run = run,
run = run, -- az egyetlen átadadndó funkció a táblából
isISBN = isISBN
isISBN = isISBN,
argumentumok = args
}
}



A lap jelenlegi, 2023. november 29., 23:44-kori változata

CheckISBN[mi ez?] • [dokumentáció: mutat, szerkeszt] • [tesztek: létrehozás]

require('strict')

local args = {}

local ou = ''
local function pop(...)  -- idézőjeles rész és bővítmények az ou számára
	-- Ha nem kell, ne zabálja a memóriát
	do return end
	local mi = {...}
	for _, v in ipairs(mi) do
		ou = ou .. v .. '\n'
		mw.log(v)
	end
end

local hibavan = false
local kategorizalas_van = false

local function error(kategorizalas_kell, about)
	-- Enclose errorMsg with <span>
	-- Precondition:
	--     about  -- string
	hibavan = true
	if kategorizalas_kell then
		kategorizalas_van = true
	end  
	local r = about
	if type( about ) == 'string' then
		if #about == 0 then
			r = 'Lua-hiba'
		end
	else
		r = tostring( about )
	end
	return '<span class="error">' .. r .. '</span>'
end

local function isISBN10(str)
	local v, chsum, chnum, chd, i, j, chnumdo, eloirt_hossz
	v = str:gsub('[^%d]', '') -- a decimális jegyeken kívül mindent figyelmen kívül hagyunk
	pop('10', v)
	chd = str:sub(-1, -1) -- check digit az utólsó
	pop(chd)
	if chd == 'X' or chd == 'x' or tonumber(chd) ~= nil then
		if chd == 'X' or chd == 'x' then
			chnum = 10
			eloirt_hossz = 9
		else
			chnum = string.byte(chd, 1) - string.byte('0', 1)
			eloirt_hossz = 10
		end
	else
		return false
	end
	pop(chd, chnum)
	
	if #v ~= eloirt_hossz then -- kötőjelek nélkül 10 karakter hosszúnak kell lennie
		return false
	end
	v = v:sub(1, 9)
	
	pop(v, chd)
	
	pop(chnum)
	chsum = 0
	for j = 10, 2, -1 do   
		local elsbyte = string.byte(v, (11 - j))
		chsum = chsum + (elsbyte - string.byte('0', 1)) * (11 - j)
	end
	pop(chsum)
	chnumdo = chsum % 11
	pop(chnumdo)
	if chnumdo == chnum then
		return true
	else
		return false
	end
end

local function isISBN13(str)
	local v, chsum, chnum, chd, i, j, chnumdo
	v = str:gsub('[^%d]', '') -- a decimális jegyeken kívül mindent figyelmen kívül hagyunk
	pop('v_1', v)
	chd = str:sub(-1, -1) -- check digit az utolsó
	pop('chd_2', chd)
	if tonumber(chd) ~= nil then
		chnum = string.byte(chd, 1) - string.byte('0', 1)
	else
		return false
	end
	pop('chd_3, chnum_1', chd, chnum)
	
	if #v ~= 13 then -- kötőjelek nélkül 13 karakter hosszúnak kell lennie
		return false
	end
	v = string.sub(v, 1, 12)
	
	pop(v, chd)
	
	local elsbyte
	chsum = 0
	for j = 1, 12 do   -- z_13 = (10 - Summa (i=1,12) (z_i*(3^((i+1)%2))%10) %10
		elsbyte = string.byte(v, j);
		--pop(elsbyte)
		chsum = chsum + (elsbyte - string.byte('0', 1)) * 3^((j+1)%2)
		--pop(3^((j+1)%2))
	end
	pop(chsum)
	chnumdo = (10 - chsum % 10) % 10
	pop(chnumdo)
	if chnumdo == chnum then
		pop("true")
		return true
	else
		pop("true")
		return false
	end
end

local function isI(str)
	local v, eloirt_hossz
	v = str:gsub('[^%dXx]', '') -- a decimális jegyeken kívül mindent figyelmen kívül hagyunk
	pop(v)
	eloirt_hossz = 10
	pop('előírt hossza', eloirt_hossz)
	if #v == eloirt_hossz then
		pop('tízes')
		return isISBN10(str)
	elseif #v > eloirt_hossz then
		pop('tizenhármas')
		return isISBN13(str)
	else
		return false
    end
end

local function isISBN(str, link, no_isbn)
	if type(str) ~= 'string' then
		return error(false, 'Nem string bemenet az isISBN függvénynek')
	end
	local vizsgalandok = {}
	str = str:gsub('[^%d%,Xx -]', '') -- minden ki, ami nem számjegy, vessző, X/x, szóköz vagy kötőjel
	--[=[
	local elso_szelet, masodik_szelet
	elso_szelet = string.sub(str,1,-2)
	masodik_szelet = string.sub(str,-1,-1)
	pop("elso_szelet, masodik_szelet",elso_szelet,masodik_szelet)
	
	if masodik_szelet == 'X' then 
		elso_szelet=string.gsub(elso_szelet,'[%a<>%[%]%-%(%)%/%=%"]','') -- (str,'[^%d%,X,x]','')
		elso_szelet=string.gsub(elso_szelet,"ó",'')
		str = elso_szelet ..  masodik_szelet
	else 
		str=string.gsub(str,'[%a<>%[%]%-%(%)%/%=%"]','') -- (str,'[^%d%,X,x]','')
		str=string.gsub(str,"ó",'')
	end
	--]=]
	pop('str a ballaszt nélkül', str)
	for w in str:gmatch('[^%,]+') do
		w = mw.text.trim(w)
		pop('w', w .. '\n')  
		if w ~= '' then
			table.insert(vizsgalandok, w)
		end
	end
	local s = {}
	local s_nyers = {}
	local h = {}
	local h_nyers = {}
	local helyes = true
	local formatstring
	if link and no_isbn then
		formatstring = '[[Speciális:Könyvforrások/%s|%s]]'
	elseif link then
		formatstring = '[[Speciális:Könyvforrások/%s|ISBN&nbsp;%s]]'
	elseif no_isbn then
		formatstring = '%s'
	else
		formatstring = 'ISBN %s'
	end
	for _, vi in ipairs(vizsgalandok) do
		if isI(vi) then
			table.insert(s, string.format(formatstring, vi:gsub('[ -]', ''), vi:gsub(' ', '&nbsp;')))
			table.insert(s_nyers, vi)
			pop('helyes előrehaladása', table.concat(s, ', '))
		else
			helyes = false
			table.insert(h, error(true, 'helytelen ISBN kód') .. ': ' .. vi)
			table.insert(h_nyers, vi)
			pop('hibás előrehaladása', table.concat(h, ', '))
		end
	end
	s = table.concat(s, ', ')
	h = table.concat(h, ', ')
    return helyes, s, h, s_nyers, h_nyers
end -- isISBN   

local function _checkISBN(args)
	local jo_lista, mind
	local alkategoriak = {}
	local isbn = args[1]
	local link = (args.link ~= nil)
	local no_isbn = (args['isbn szöveg nélkül'] ~= nil)
	local hiba_jelzes = ''
	local milyen_lista = args[2]

	pop('a kapott argumentum', isbn)
	pop('linkelve?', tostring(link))
	-- ISBN lekezelése
	if isbn then 
		pop('van isbn paraméter', isbn)
		--isbn=string.gsub(isbn,"ISBN",'') -- a beleírt ISBN szövegeket kivesszük
		local helyes
		helyes, isbn, hiba_jelzes = isISBN(isbn, link, no_isbn)
		
		if helyes then
			pop('helyesek a paraméterek')
		end                       
	end
	
	if milyen_lista then 
		mind = false
		jo_lista = (milyen_lista == 'jólista')
	else
		mind = true 
	end
	
	-- output összeállítása
	local s
	if isbn then
		if hiba_jelzes then
			if mind then
				s = isbn
				if hibavan then
					s = s ..' ' .. hiba_jelzes
					-- a fölérendelt kategória marad hiba esetén
					if kategorizalas_van then s = s .. ' [[Kategória:Lapok helytelen ISBN kóddal]]' end
				end
			else  
				if jo_lista then
					s = isbn
				elseif hibavan then
					s = hiba_jelzes
					-- a fölérendelt kategória marad hiba esetén
					if kategorizalas_van then s = s .. ' [[Kategória:Lapok helytelen ISBN kóddal]]' end
				end
			end
		end	
	end
	-- if ou  then s = s..ou  end --ez csak nyomkövetésnél kell, de akkor nagyon
	-- s = s .. mw.dumpObject(args) 
	return s
end

local function run(frame)
	args = require('Modul:Arguments').getArgs(frame)
	return _checkISBN(args)
end

local p = {
	run = run,
	isISBN = isISBN,
	argumentumok = args
}

return p