Moduldokumentasjon

Modul for å hente ut antall artikler som er oppe til slettediskusjon og som kandidatartikler.

Se {{Antall}} for bruk.

local p = {}

local lang = mw.getContentLanguage()

-- funksjon for å hente antallet av ett eller annet på prosjektet
function p.hent_noe( frame )
    local pg = frame.args['side']
    	if frame.args['side'] == "" or frame.args['side'] == nil then
    		pg = mw.title.getCurrentTitle().fullText
		else
			pg = frame.args['side']
		end
	local pg = mw.title.new( pg )
    local text = pg:getContent()
    if not (text) then return "error: feilet i å laste mw.title.new(" .. pg .. ")" end
    local section = mw.ustring.match( text, "(.*)")
 
    local startverdi = frame.args['startverdi']
    if startverdi == "" or startverdi == nil then
    	startverdi = 0
	else
		startverdi = frame.args['startverdi']
	end
    local k = startverdi
    for etellerannet in mw.ustring.gmatch( text, frame.args['tekst']) do
       k = k + 1
    end
    return k
end

-- funksjon for å hente antallet slettekandidater på prosjektet som ikke er avsluttet
function p.hent_slettekandidater( frame )
    local pg = mw.title.new( "Wikipedia:Sletting")
    local text = pg:getContent()
    if not (text) then return "error: feilet i å laste mw.title.new(Wikipedia:Sletting)" end
    local section = mw.ustring.match( text, "== Liste over slettekandidater (nyeste øverst) ==(.*)")
 
	local k = -1
    for slettekandidat in mw.ustring.gmatch( text, "\{\{[Ss]letteforslag") do
       k = k + 1
    end
    local s = 0
    for slettet in mw.ustring.gmatch( text, "\|s\}\}") do
       s = s + 1
    end
    local hs = 0
    for hurtigslettet in mw.ustring.gmatch( text, "\|hs\}\}") do
       hs = hs + 1
    end
    local b = 0
    for beholdt in mw.ustring.gmatch( text, "\|b\}\}") do
       b = b + 1
    end
    local f = 0
    for flettet in mw.ustring.gmatch( text, "\|f\}\}") do
       f = f + 1
    end
    local o = 0
    for omdirigert in mw.ustring.gmatch( text, "\|o\}\}") do
       o = o + 1
    end
    if frame.args[1] == 's' then
    	result = s
	elseif frame.args[1] == 'hs' then
		result = hs
	elseif frame.args[1] == 'b' then
		result = b
	elseif frame.args[1] == 'f' then
		result = f
	elseif frame.args[1] == 'o' then
		result = o
	elseif frame.args[1] == 't' then
		result = k
	else
	    result = k - s - hs - b - f - o
	end
 
    return result
end

-- funksjon for å hente antallet kandidatartikler på prosjektet
function p.hent_kandidatartikler( frame )
    local pg = mw.title.new( "Wikipedia:Kandidatsider")
    local text = pg:getContent()
    if not (text) then return "error: feilet i å laste mw.title.new(Wikipedia:Kandidatsider)" end
    local section = mw.ustring.match( text, "=Kandidater og kommentarer=(.*)")
 
    local k = 0
    for kandidatartikkel in mw.ustring.gmatch( text, "\{\{[Ff]orslag") do
       k = k + 1
    end
    return k
end

-- funksjon for å hente antallet artikler på prosjektet
function p.hent_artikler( frame )
	articles = mw.site.stats.articles
	number_of_articles = lang:formatNum( articles )
	return number_of_articles
end

-- funksjon for å hente antallet filer på prosjektet
function p.hent_filer( frame )
	files = mw.site.stats.files
	number_of_files = lang:formatNum( files )
	return number_of_files
end

-- funksjon for å hente antallet registrerte brukere på prosjektet
function p.hent_brukere( frame )
	users = mw.site.stats.users
	number_of_users = lang:formatNum( users )
	return number_of_users
end

-- funksjon for å hente antallet aktive brukere på prosjektet
function p.hent_aktive( frame )
	active = mw.site.stats.activeUsers
	number_of_active = lang:formatNum( active )
	return number_of_active
end

-- funksjon for å hente antallet administratorer på prosjektet
function p.hent_admins( frame )
	admins = mw.site.stats.admins
	number_of_admins = lang:formatNum( admins )
	return number_of_admins
end

-- funksjon for å hente antallet redigeringer gjort på prosjektet
function p.hent_redigeringer( frame )
	edits = mw.site.stats.edits
	number_of_edits = lang:formatNum( edits )
	return number_of_edits
end
return p