Module:Process Query Output 3
Documentation for this module may be created at Module:Process Query Output 3/doc
local p = {}
function p.processData(frame)
local pages_only_arg = frame.args["pages_only"]
local full_query_arg = frame.args["full_query"]
--local vartype = type(plainlistString)
local page_names_array = mw.text.split(pages_only_arg, ",")
local trimmed_page_names_array = {}
for _, value in ipairs(page_names_array) do
table.insert(trimmed_page_names_array, mw.text.trim(value))
end
local concatenated_string = "<ul>"
for i, v in ipairs(trimmed_page_names_array) do
concatenated_string = concatenated_string .. "<li>" .. i .. ": " .. v .. "</li>"
end
concatenated_string = concatenated_string .. "</ul>"
query_output_tbl = {}
for i, page_name in ipairs(trimmed_page_names_array) do
match = mw.ustring.match(full_query_arg, page_name .. "%s" .. "(%b())")
if match == nil then
query_output_tbl[page_name] = "Data for page " .. page_name .. " could not be added to the list."
else
query_output_tbl[page_name] = match
end
end
local concatenated_string_2 = "<ul>"
for k, v in pairs(query_output_tbl) do
concatenated_string_2 = concatenated_string_2 .. "<li>" .. k .. ": " .. v .. "</li>"
end
concatenated_string_2 = concatenated_string_2 .. "</ul>"
return concatenated_string .. concatenated_string_2
end
return p