Modul:Queries: Unterschied zwischen den Versionen

+ plain
(weitere debug Ausgaben)
(+ plain)
Zeile 7: Zeile 7:
local attr = frame.args["attr"] or ""
local attr = frame.args["attr"] or ""
local sep = frame.args["sep"] or ";"
local sep = frame.args["sep"] or ";"
local plain = frame.args["plain"] or false
local debug = frame.args["debug"] or false
local debug = frame.args["debug"] or false


local values = p.getValues(page, attr, debug)
local values = p.getValues(page, attr, plain, debug)
local t = ""
local t = ""
Zeile 15: Zeile 16:
for i = 1, #values do
for i = 1, #values do
     t = t .. values[i]
     t = t .. values[i]
    if i ~= #values then
  if i ~= #values then
    t = t .. sep
  t = t .. sep
    end
    end
end
end
end
end
Zeile 29: Zeile 30:
end
end


function p.getValues(page, attr, debug)
function p.getValues(page, attr, plain, debug)
local askResult = mw.smw.ask("[[:" .. page .."]]|?#-=page|?" .. attr .."#-=" .. attr .. "|mainlabel=-|limit=1") -- ask selektiert nur die Seite selbst
local query = "[[:" .. page .."]]|?" .. attr -- selektiert nur die Seite selbst
if plain then
query = query .. "#-"
end
query = query  .. "|mainlabel=-|limit=1"
local askResult = mw.smw.ask(query)
local values = nil
local values = nil
if askResult ~= nil then
if askResult ~= nil then
values = askResult[1][attr] -- Erste Ergebnis-Zeile, attr-Spalte
values = askResult[1][attr] -- Erste Ergebnis-Zeile, attr-Spalte
end
if type(values) ~= "table" then -- Immer als table rückgeben, auch wenn keine (dann umformen)
  values = { [1]=values }
end
end


Zeile 43: Zeile 54:
mw.log("askResult=")
mw.log("askResult=")
mw.logObject(askResult)
mw.logObject(askResult)
mw.log("values=")
mw.logObject(values)
mw.log("type(values[1])=" .. type(values[1]))
end
end