Difference between revisions of "Module:Is infobox in lead"

From blackwiki
Jump to navigation Jump to search
blackwiki>Galobtter
m (Galobtter moved page Module:IsInLead to Module:Is infobox in lead without leaving a redirect: mv)
blackwiki>Galobtter
(+)
Line 2: Line 2:
  
 
function p.main (frame)
 
function p.main (frame)
 +
p._main (frame.args[1])
 +
end
 +
 +
function p._main (searchString)
 
local content = mw.title.getCurrentTitle():getContent()
 
local content = mw.title.getCurrentTitle():getContent()
 
local offset = string.find(content, "==", 1 , true)
 
local offset = string.find(content, "==", 1 , true)
 
if offset then
 
if offset then
 
lead = string.sub(content, 1, offset-1)
 
lead = string.sub(content, 1, offset-1)
if (string.find(lead, frame.args[1])) then
+
if (string.find(lead, searchString)) then
 
iter = string.gmatch(lead, "[Ii]nfobox")
 
iter = string.gmatch(lead, "[Ii]nfobox")
 
iter()
 
iter()

Revision as of 11:02, 2 February 2019

Module:Is infobox in lead checks if a given infobox is in the lead, is also the only infobox in the lead, and that there aren't two of that same infobox in the article. If that is the case, it returns true, and if not returns nothing.

Usage

{{#invoke:Is infobox in lead|main|[Ii]nfobox [Ff]oo [Bb]ar}}


local p = {}

function p.main (frame)
	p._main (frame.args[1])
end

function p._main (searchString)
	local content = mw.title.getCurrentTitle():getContent()
	local offset = string.find(content, "==", 1 , true)
	if offset then
		lead = string.sub(content, 1, offset-1)
		if (string.find(lead, searchString)) then
			iter = string.gmatch(lead, "[Ii]nfobox")
			iter()
			if not iter() then --if able to find two infoboxes, then don't return true
				return "true"
			end
		end
	end
end

return p