Jump to content

Module:AfC submission catcheck: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
make Category:Drafts foo also exempt, not just "Drafts about" - eg Category:Draft articles
attempt to fix false positive if {{draft categories}} includes a template within in (eg default sort (not really a template but looks like one))
Line 7: Line 7:
str = mw.ustring.gsub(str, "<!--.--->", "")
str = mw.ustring.gsub(str, "<!--.--->", "")
str = mw.ustring.gsub(str, "<nowiki>.-</nowiki>", "")
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, "{{[Dd]raft categories.-}}", "")
str = mw.ustring.gsub(str,"%[%[Category:Unsuitable for Wikipedia AfC submissions%]%]","")
str = mw.ustring.gsub(str,"%[%[Category:Unsuitable for Wikipedia AfC submissions%]%]","")

Revision as of 04:53, 28 December 2019

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:Drafts.-%]%]","")
	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)
	if mw.ustring.find(removeFalsePositives(mw.title.getCurrentTitle():getContent()), '{{AFC submission||', 1, true) then
		return frame.args[1]
	else
		return frame.args[2]
	end
end

return p