Difference between revisions of "Module:AFC submission catcheck"

From blackwiki
Jump to navigation Jump to search
blackwiki>Courcelles
m (Changed protection level of Module:AFC submission catcheck: Per RFPP request, "mother" template only template protected now ([Edit=Allow only template editors and admins] (indefinite) [Move=Allow only template editors and admins] (indefinite)))
m (23 revisions imported)
 
(10 intermediate revisions by 4 users not shown)
Line 1: Line 1:
local i = {}
+
local p = {}
  
function i.checkforcats(frame)
+
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()
 
     local t = mw.title.getCurrentTitle()
 
     tc = t:getContent()
 
     tc = t:getContent()
Line 7: Line 21:
 
         return ""
 
         return ""
 
     end
 
     end
     tc = mw.ustring.gsub(tc,"%[%[Category:Articles created via the Article Wizard%]%]","")
+
     tc = removeFalsePositives(tc)
    tc = mw.ustring.gsub(tc,"<!--.--->","")
 
    tc = mw.ustring.gsub(tc,"<nowiki>.-</nowiki>","")
 
 
     if mw.ustring.match(tc, "%[%[%s-[Cc]ategory:" ) == nil then
 
     if mw.ustring.match(tc, "%[%[%s-[Cc]ategory:" ) == nil then
 
         return ""
 
         return ""
Line 16: Line 28:
 
     end
 
     end
 
end
 
end
+
 
return i
+
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

Latest revision as of 12:20, 25 September 2020

This module is used by Template:AFC submission and its subtemplates to scan the content of AFC submissions. It's used to allow finding of drafts in improper content categories as well as to suppress the message that a draft has not been submitted when in fact it has been.



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)
	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