15.082
Bearbeitungen
(query anstelle queryl) |
(Kleinkram) |
||
| Zeile 1: | Zeile 1: | ||
local p = {} | local p = {} | ||
local | local com = require("Module:Common") | ||
function p.GetValues(frame) | function p.GetValues(frame) | ||
-- Gets the values from an attribute on a page to be called from Wikitext by #invoke | -- Gets the values from an attribute on a page to be called from Wikitext by #invoke | ||
-- mw.log("GetValues(frame)") | |||
-- mw.logObject(frame) | |||
local page = frame.args.page or "" | local page = frame.args.page or "" | ||
local attr = frame.args.attr or "" | local attr = frame.args.attr or "" | ||
| Zeile 11: | Zeile 12: | ||
local values = p.getValues(page, attr, plain) | local values = p.getValues(page, attr, plain) | ||
local vallist = | local vallist = table.concat(values, sep) | ||
-- mw. | -- mw.logObject(vallist) | ||
return vallist | return vallist | ||
end | end | ||
| Zeile 20: | Zeile 19: | ||
function p.getValues(page, attr, plain) | function p.getValues(page, attr, plain) | ||
-- Gets the values from an attribute on a page to be called inside lua | -- Gets the values from an attribute on a page to be called inside lua | ||
-- mw.log("getValues(" .. page .. ", " .. attr .. ", " .. tostring(plain) .. ")") | |||
local query = "[[:" .. page .."]]|?" .. attr -- selektiert nur die Seite selbst | local query = "[[:" .. page .."]]|?" .. attr -- selektiert nur die Seite selbst | ||
if plain then | if plain then | ||
| Zeile 28: | Zeile 28: | ||
local askResult = mw.smw.ask(query) | local askResult = mw.smw.ask(query) | ||
local values = {} | local values = {} | ||
if not | if not com.isEmpty(askResult) 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) | if type(values) ~= "table" then -- Immer als table rückgeben, auch wenn keine (dann umformen) | ||
| Zeile 34: | Zeile 34: | ||
end | end | ||
end | end | ||
-- mw.logObject(values) | -- mw.logObject(values) | ||
return values | return values | ||
end | end | ||
function p.getPages(query, plain) | function p.getPages(query, plain) | ||
-- mw.log("getPages(" .. query .. ", " .. tostring(plain) .. ")") | |||
if plain then | if plain then | ||
query = query .. "|?#-" | query = query .. "|?#-" | ||
| Zeile 52: | Zeile 46: | ||
local askResult = mw.smw.ask(query) | local askResult = mw.smw.ask(query) | ||
local | local values = {} | ||
if not | if not com.isEmpty(askResult) then | ||
for | for _, v in pairs(askResult) do | ||
table | table.insert(values, v[1]) -- jede Zeile, 1. Spalte | ||
end | end | ||
end | end | ||
-- mw.logObject(values) | |||
return values | |||
-- mw.logObject( | |||
return | |||
end | end | ||
return p | return p | ||