Module:Arbitration case implementation notes/Proposal/Automatic/sandbox explained

local getArgs = require('Module:Arguments').getArgs

local p =

function p.main(frame) local args = getArgs(frame) local section = args["section"] or "" local pattern = args["pattern"] or "" local ret = args["ret"] or "" local text = mw.title.getCurrentTitle:getContent local escape = mw.ustring.gsub(section, "([%(%)%.%%%+%-%*%?%[%^%$%]])", "%%%1") local sectionText, matches = mw.ustring.gsub(text, ".-%=%=%= *"..escape.." *%=%=%=", "") sectionText = mw.ustring.gsub(sectionText, ":Comments.*", "") if matches ~= 1 then if ret

"support" then return '?' ..'?' ..'?' ..'' ..'?' ..'

Error: Found ' ..tostring(matches) ..' sections with heading
===' ..tostring(section) ..'===
' end end local supportText = mw.ustring.gsub(sectionText, ".*:Support", "Support") supportText = mw.ustring.gsub(supportText, ":Oppose.*", "") local _, support = mw.ustring.gsub(supportText, pattern, "") local opposeText = mw.ustring.gsub(sectionText, ".*:Oppose", "Oppose") opposeText = mw.ustring.gsub(opposeText, ":Abstain.*", "") local _, oppose = mw.ustring.gsub(opposeText, pattern, "") local abstainText = mw.ustring.gsub(sectionText, ".*:Abstain", "Abstain") local _, abstain = mw.ustring.gsub(abstainText, pattern, "") if ret

"support" then return support elseif ret

"oppose" then return oppose elseif ret

"abstain" then return abstain else return "" endend

return p