Modul:BHL

A Wikipédiából, a szabad enciklopédiából

BHL[mi ez?] • [dokumentáció: mutat, szerkeszt] • [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