Modul:Queries: Unterschied zwischen den Versionen

+ p.getPages()
(fix missing sep)
(+ p.getPages())
Zeile 11: Zeile 11:
local values = p.getValues(page, attr, plain)
local values = p.getValues(page, attr, plain)
local vallist = c.table2list(values, sep)
local vallist = c.table2list(values, sep)
-- mw.log("GetValues(frame)=" .. vallist)
-- mw.log("GetValues(frame)=" .. vallist)
-- mw.log("frame=")
-- mw.log("frame=")
-- mw.logObject(frame)
-- mw.logObject(frame)
return vallist
return vallist
end
end
Zeile 28: Zeile 26:
local askResult = mw.smw.ask(query)
local askResult = mw.smw.ask(query)
local values = {}
local values = nil
if not c.isEmpty(askResult) then
if askResult ~= nil then
values = askResult[1][attr] -- Erste Ergebnis-Zeile, attr-Spalte
values = askResult[1][attr] -- Erste Ergebnis-Zeile, attr-Spalte
if type(values) ~= "table" then -- Immer als table rückgeben, auch wenn keine (dann umformen)
values = { [1]=values }
end
end
end
if type(values) ~= "table" then -- Immer als table rückgeben, auch wenn keine (dann umformen)
  values = { [1]=values }
end
-- mw.log("getValues(" .. page .. "," ..  attr .. ")=")
-- mw.log("getValues(" .. page .. "," ..  attr .. ")=")
-- mw.logObject(values)
-- mw.logObject(values)
Zeile 46: Zeile 41:
-- mw.logObject(values)
-- mw.logObject(values)
-- mw.log("type(values[1])=" .. type(values[1]))
-- mw.log("type(values[1])=" .. type(values[1]))
return values
end
function p.getPages(query, plain)
local queryl = query
if plain then
queryl = queryl .. "|?#-"
end
queryl = queryl .. "|mainlabel=-"


return values
local askResult = mw.smw.ask(queryl)
local table = {}
if not c.isEmpty(askResult) then
for i = 1, #askResult do
table[i] = askResult[i][1] -- i-te Zeile, 1. Spalte
end
end
mw.log("getPages()=")
mw.logObject(table)
mw.log("queryl=")
mw.logObject(queryl)
mw.log("askResult=")
mw.logObject(askResult)
return table
end
end


return p
return p