Modul:BHL
Megjelenés
BHL[mi ez?] • [dokumentáció: mutat, ] • [tesztek: létrehozás]
local lang = mw.getContentLanguage()
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
if not mi then return else ou = ou..mi..'\n ' end
if not mv1 then return else ou = ou..mv1..'\n' end
if not mv2 then return else ou = ou..mv2..'\n' end
if not mv3 then return else ou = ou..mv3..'\n' end
if not mv4 then return else ou = ou..mv4..'\n' end
if not mv5 then return else ou = ou..mv5..'\n' end
end
hibavan=false
hibajelz= ''
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 = "Error in Lua"
end
else
r = tostring( about )
end
return "<span class=\'error\'>" .. r .. "</span>, "
-- "<font color=\"red\">" ..' ('.. r..') ' .. "</font> "
--"<small><font color=\"black\">" ..' ('.. r..') ' .. "</font></small> "
end -- error()
local function getArg(le,arg,alternativarg, assign ) -- itt eredetileg a frame nem paraméter
-- Retrieve template argument
-- Precondition:
-- le true értékkel jelzi, hogy levágható a paraméter végéről a felesleges vessző és pont
-- arg -- string or number; argument identifier
-- 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
local function is_set( var ) -- lekérdezi, hogy a változónak adtunk-e értéket.
--Ha a változó értéke nil, vagy üres string, akkor false értéket ad, kben true
-- azaz a var sem nil, sem üres
return not (var == nil or var == '');
end
-- Gets the display text for a wikilink like [[A|B]] or [[B]] gives B
function removewikilink( str )
return (str:gsub( "%[%[([^%[%]]*)%]%]", function(l)
return l:gsub( "^[^|]*|(.*)$", "%1" ):gsub("^%s*(.-)%s*$", "%1");
end));
end
local function _bhl(frame)
local kotetek={}
kotetek[20] = 'Niger - papagájfélék'
kotetek[18] = 'majolika - minnesänger'
kotetek[17] = 'Lerner - Majna'
kotetek[15] = 'kén - Königssee'
kotetek[14] = 'Jókai Mór - Kempten'
kotetek[13] = 'improvizáció - Jókai Anna'
kotetek[7] = 'Egyenesszárnyúak - Euphorión'
kotetek[6] = 'Davis-szoros - egyenérték'
kotetek[5] = 'Christie - Davisson'
kotetek[4] = 'Boules - Christian-Jaque'
kotetek[3] = 'Barré - Boulder'
kotetek[2] = 'Animáció - Barrault'
kotetek[1] = 'A capella - anilin'
kotetek[12] = 'Herpesz - impromptu'
kotetek[11] = 'Gyógypedagógia - herpangina'
kotetek[10] = 'Géppuska - gyógynövény'
kotetek[9] = 'Fokker - géppisztoly'
kotetek[8] = 'Euphróniosz - Fokin'
kotetek[21] ='Papagájkor - Rádzsasztán'
kotetek[22] ='raeder – sixtus'
kotetek[23] = 'Sixtus, V. - Szövetségteológia'
kotetek[24] = 'szövettan – tundra'
kotetek[25] = 'Tunézia – Zsuzsánna'
isbnek = {}
isbnek[1] = '978-963-09-6795-2'
isbnek[2] = '978-963-09-6796-9'
isbnek[3] = '978-963-09-6797-6'
isbnek[4] = '978-963-09-6798-3'
isbnek[5] = '978-963-09-6799-0'
isbnek[6] = '978-963-09-6800-3'
isbnek[7] = '978-963-09-6801-0'
isbnek[8] = '978-963-09-6802-7'
isbnek[9] = '978-963-09-6803-4'
isbnek[10] = '978-963-09-6804-1'
isbnek[11] = '978-963-09-6805-8'
isbnek[12] = '978-963-09-6806-5'
isbnek[13] = '978-963-09-6807-2'
isbnek[14] = '978-963-09-6808-9'
isbnek[15] = '978-963-09-6809-6'
isbnek[16] = '978-963-09-6810-2'
isbnek[17] = '978-963-09-6811-9'
isbnek[18] = '978-963-09-6812-6'
isbnek[19] = '978-963-09-6813-3'
isbnek[20] = '978-963-09-6814-0'
isbnek[21] = '978-963-09-6815-7'
isbnek[22] = '978-963-09-6816-4'
isbnek[23] = '978-963-09-6817-1'
isbnek[24] = '978-963-09-6818-8'
isbnek[25] = '978-963-09-7803-3'
local oldal=nil
local volume=nil
local cim='Britannica Hungarica nagylexikon'
kotet= getArg(true,"kötet"); --pop('kötet=', kotet)
pag= getArg(true,"oldal"); --pop('oldal=', pag)
-- asszisztencia
local kozremukodok='főszerk: Nádori Attila, szerk: Bogdanov Edit, Kéri András, Medgyesy Zsófia'
-- edi
if kotet then
if tonumber(kotet) then kotet = tonumber(kotet) else hibajelz = hibajelz.. error(false,'a kötet kötelezően szám!'); kotet = 1 end
else hibajelz = hibajelz..error(false,'meg kell adni a kötet számát!')end
cim = cim ..' '..tostring(kotet)..'. kötet ('..kotetek[kotet]..')'
isbn=isbnek[kotet]; --pop('isbn=', isbn)
-- output összeállítása
if not hibavan then
s = frame:expandTemplate { title = 'CitLib', args ={tit=cim,ass=kozremukodok,loc = 'Budapest',red = 'Kossuth',ann = '2012-2014',isbn=isbnek[kotet],oldal=pag}}
--frame:expandTemplate{ title = 'template', args = { 'arg1', 'arg2', name = 'arg3' } }
else s = hibajelz
end
--if ou then s = s..ou end --ez csak nyomkövetésnél kell, de akkor nagyon
return s
end
function run(frame)
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 _bhl(frame)
end
local p = {
run = run, -- az egyetlen átadadndó funkció a táblából
}
return p