Module:Sandbox/Aidan9382

This is an old revision of this page, as edited by Aidan9382 (talk | contribs) at 10:37, 17 November 2022 (test time). The present address (URL) is a permanent link to this revision, which may differ significantly from the current revision.

require("strict")
local p = {}

function p.main(data)
	return "<div style=text-align:right;font-size:80%>This does nothing as of right now. "..os.time().."</div>"
end

function p.iloveregexold(data)
	local r = "%[?%[?.-:([^{|]+)%]?%]?"
	local args = {mw.ustring.match("[[File:Hey.jpg|thumb|left|250px]]",r)}
	return table.concat(args," -- ")
end
function p.iloveregex(data)
	--This assumes [[ is present, and that therefore ]] is present
	local r = "%[%[%a-:([^{|]+)(.+)%]%]"
	local args = {mw.ustring.match("[[File:Hey.jpg|thumb|left|250px|All for [[Module:Excerpt/portals]]|alt=text]]",r)}
	return table.concat(args," -- ")
end

function p.parentingLogic(frame)
	--Note: Not even sure this thing goes beyond 1 parent, but have overcomplicated code anyways
	local parentChain = {}
	local newframe = frame
	while true do
		local parent = newframe:getParent()
		if not parent then
			break
		end
		newframe = parent
		parentChain[#parentChain+1] = parent
	end
	local parentText = ""
	for i,p in next,parentChain do
		parentText = parentText .. " parent"..i.."="..p:getTitle()
	end
	return "frame="..frame:getTitle()..parentText.." mw.gct="..mw.title.getCurrentTitle().text
end

p["module-use"] = function(frame)
	local parentLogicStuff = p.parentingLogic(frame)
	return parentLogicStuff.." _test1="..frame.args._test1.." _test2="..frame.args._test2
end

function p:namecall()
	return self
end

return setmetatable(p,{
	__index=function(t,k)
		mw.log("Attempted to access unknown function '"..tostring(k).."'")
		return function(frame)
			local s = "<span class=\"error\">Attempted to access unknown function '"..tostring(k).."'</span>"
			return frame and frame:preprocess(s) or s
		end
	end
})