Modul:Reihenabfrage: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Zeile 1: | Zeile 1: | ||
local p = {} | local p = {} | ||
− | function print_r ( | + | function print_r(arr, indentLevel) |
− | local | + | local str = "" |
− | local | + | local indentStr = "#" |
− | + | ||
− | + | if(indentLevel == nil) then | |
− | + | print(print_r(arr, 0)) | |
− | + | return | |
− | + | end | |
− | + | ||
− | + | for i = 0, indentLevel do | |
− | + | indentStr = indentStr.."\t" | |
− | + | end | |
− | + | ||
− | + | for index,value in pairs(arr) do | |
− | + | if type(value) == "table" then | |
− | + | str = str..indentStr..index..": \n"..print_r(value, (indentLevel + 1)) | |
− | + | else | |
− | + | str = str..indentStr..index..": "..value.."\n" | |
− | |||
− | |||
end | end | ||
end | end | ||
− | + | return str | |
end | end | ||
Version vom 12. April 2019, 14:05 Uhr
Die Dokumentation für dieses Modul kann unter Modul:Reihenabfrage/Doku erstellt werden
local p = {} function print_r(arr, indentLevel) local str = "" local indentStr = "#" if(indentLevel == nil) then print(print_r(arr, 0)) return end for i = 0, indentLevel do indentStr = indentStr.."\t" end for index,value in pairs(arr) do if type(value) == "table" then str = str..indentStr..index..": \n"..print_r(value, (indentLevel + 1)) else str = str..indentStr..index..": "..value.."\n" end end return str end function holeReihen(frame,artikel) local a=frame:callParserFunction( '#ask', '[[-Has subobject::'..artikel..']]', '?Reihe ist#=', 'sep=€', 'mainlabel=-' ) return mw.text.split(a,'€',true) end function holeAttribut(frame,artikel,attribut) local a=frame:callParserFunction( '#ask', '[['..artikel..']]', '?'..attribut..'#=', 'mainlabel=-' ) return a end function holeGeschichten(frame) local r={} local i=0 local s='<q>[[Geschichten:+]] OR [[Lieder:+]] OR [[Heroldartikel:+]]</q>' local a=frame:callParserFunction( '#ask',s, 'mainlabel=-', '?#=', 'sep=€', 'limit=10', 'searchlabel=', 'format=list', 'sort=Erstellt', 'order=desc' ) local t=mw.text.split(a,'€',true) for key,value in pairs(t) do local reihen=holeReihen(frame,value) local beschreibung=holeAttribut(frame,value,"Kurzbeschreibung") local wappen=holeAttribut(frame,value,"Wappen ist") for key2,value2 in pairs(reihen) do r[i]={} r[i]["Artikel"]=value r[i]["Reihe"]=value2 r[i]["Beschreibung"]=beschreibung r[i]["Wappen"]=wappen i=i+1 end end return r end function p.Abfrage(frame) return print_r(holeGeschichten(frame)) end return p