From Wikipedia, the free encyclopedia


local function remove_wiki_link (str)

	return (str:gsub( "%[%[([^%[%]]*)%]%]", function(l)

		return l:gsub( "^[^|]*|(.*)$", "%1" ):gsub("^%s*(.-)%s*$", "%1");

	end));

end



local function main (frame)

	local user = frame.args1

	local page = {

		1 = "Wikipedia:List of Wikipedians by number of edits/1–1000",

		2 = "Wikipedia:List of Wikipedians by number of edits/1001–2000",

		3 = "Wikipedia:List of Wikipedians by number of edits/2001–3000",

		4 = "Wikipedia:List of Wikipedians by number of edits/3001–4000",

		5 = "Wikipedia:List of Wikipedians by number of edits/4001–5000",

		6 = "Wikipedia:List of Wikipedians by number of edits/5001–6000",

		7 = "Wikipedia:List of Wikipedians by number of edits/6001–7000",

		8 = "Wikipedia:List of Wikipedians by number of edits/7001–8000",

		9 = "Wikipedia:List of Wikipedians by number of edits/8001–9000",

		10 = "Wikipedia:List of Wikipedians by number of edits/9001–10000",

	}

	

	local i = 1

	local content

	

	repeat

		content = mw.title.new (pagei]):getContent();

		if string.find(content, "|"..user.."]]\n") or string.find(content, "| "..user.."\n") then

			pgnum = i

		else

			if i == 10 then

				pgnum = 0

			else

				pgnum = nil

			end

		end

		i = i + 1

	until ((pgnum == i - 1) or (pgnum == 0))

	

	if pgnum == 0 then

		outputRank = "nil"

		outputName = user

		outputCount = "nil"

	else

		for rank, name, count in string.gmatch(content, "|%-\n|%s(.-)\n|%s(.-)\n|%s(.-)\n") do

			rank = mw.text.trim(rank)

			name = mw.text.trim(name)

			count = mw.text.trim(count)

			

			name = remove_wiki_link (name)

			

			if name == user then

				outputRank = rank

				outputName = name

				outputCount = count

				break

			end

		end

	end

	

	if frame.args2 == "rank" then

		return outputRank

	elseif frame.args2 == "count" then

		return outputCount

	else

		return outputRank .. " " .. outputName .. " " .. outputCount

	end

	

end



return	{

	main = main,

	}
From Wikipedia, the free encyclopedia


local function remove_wiki_link (str)

	return (str:gsub( "%[%[([^%[%]]*)%]%]", function(l)

		return l:gsub( "^[^|]*|(.*)$", "%1" ):gsub("^%s*(.-)%s*$", "%1");

	end));

end



local function main (frame)

	local user = frame.args1

	local page = {

		1 = "Wikipedia:List of Wikipedians by number of edits/1–1000",

		2 = "Wikipedia:List of Wikipedians by number of edits/1001–2000",

		3 = "Wikipedia:List of Wikipedians by number of edits/2001–3000",

		4 = "Wikipedia:List of Wikipedians by number of edits/3001–4000",

		5 = "Wikipedia:List of Wikipedians by number of edits/4001–5000",

		6 = "Wikipedia:List of Wikipedians by number of edits/5001–6000",

		7 = "Wikipedia:List of Wikipedians by number of edits/6001–7000",

		8 = "Wikipedia:List of Wikipedians by number of edits/7001–8000",

		9 = "Wikipedia:List of Wikipedians by number of edits/8001–9000",

		10 = "Wikipedia:List of Wikipedians by number of edits/9001–10000",

	}

	

	local i = 1

	local content

	

	repeat

		content = mw.title.new (pagei]):getContent();

		if string.find(content, "|"..user.."]]\n") or string.find(content, "| "..user.."\n") then

			pgnum = i

		else

			if i == 10 then

				pgnum = 0

			else

				pgnum = nil

			end

		end

		i = i + 1

	until ((pgnum == i - 1) or (pgnum == 0))

	

	if pgnum == 0 then

		outputRank = "nil"

		outputName = user

		outputCount = "nil"

	else

		for rank, name, count in string.gmatch(content, "|%-\n|%s(.-)\n|%s(.-)\n|%s(.-)\n") do

			rank = mw.text.trim(rank)

			name = mw.text.trim(name)

			count = mw.text.trim(count)

			

			name = remove_wiki_link (name)

			

			if name == user then

				outputRank = rank

				outputName = name

				outputCount = count

				break

			end

		end

	end

	

	if frame.args2 == "rank" then

		return outputRank

	elseif frame.args2 == "count" then

		return outputCount

	else

		return outputRank .. " " .. outputName .. " " .. outputCount

	end

	

end



return	{

	main = main,

	}

Videos

Youtube | Vimeo | Bing

Websites

Google | Yahoo | Bing

Encyclopedia

Google | Yahoo | Bing

Facebook