Module:AfC submission catcheck

Revision as of 04:34, 24 November 2020 by en>SD0001 (check for either {{AFC submission}} or {{AfC submission}} (caps))
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Documentation for this module may be created at Module:AfC submission catcheck/doc

local p = {}

local function removeFalsePositives(str)
	if not str then
		return ''
	end
	str = mw.ustring.gsub(str, "<!--.--->", "")
	str = mw.ustring.gsub(str, "<nowiki>.-</nowiki>", "")
	str = mw.ustring.gsub(str, "{{[Dd]raft categories[^{}]-{{[^{}]-}}[^{}]-}}", "")
	str = mw.ustring.gsub(str, "{{[Dd]raft categories.-}}", "")
	str = mw.ustring.gsub(str,"%[%[Category:Unsuitable for Wikipedia AfC submissions%]%]","")
	str = mw.ustring.gsub(str,"%[%[Category:[Dd]rafts.-%]%]","")
	str = mw.ustring.gsub(str,"%[%[Category:.-drafts%]%]","")
	return str
end

function p.checkforcats(frame)
    local t = mw.title.getCurrentTitle()
    tc = t:getContent()
    if tc == nil then 
        return ""
    end
    tc = removeFalsePositives(tc)
    if mw.ustring.match(tc, "%[%[%s-[Cc]ategory:" ) == nil then
        return ""
    else
        return "[[Category:AfC submissions with categories]]"
    end
end

function p.submitted(frame)
	local text = removeFalsePositives(mw.title.getCurrentTitle():getContent())
	if mw.ustring.find(text, '{{AfC submission||', 1, true) or mw.ustring.find(text, '{{AFC submission||', 1, true) then
		return frame.args[1]
	else
		return frame.args[2]
	end
end

return p