Moduuli:Artikkeliäänestykset
Siirry navigaatioon
Siirry hakuun
[ muokkaa ]
{{#invoke:artikkeliäänestykset|lista}}
|
local p = {}
local function parse_votepage(pagename, namespace, startkey, endkey)
local title = mw.title.new(pagename, namespace)
local content = title:getContent()
local subpages = {}
assert(title, 'Valitettavasti sivun [['.. namespace ..':' .. pagename .. ']] sisällön hakeminen ei onnistunut (virhe 1)')
assert(content, 'Valitettavasti sivun [['.. namespace ..':' .. pagename .. ']] sisällön hakeminen ei onnistunut (virhe 2)')
for subpagename in string.gfind(content, startkey .. '(%s-([^\n}]-)%s-)' .. endkey) do
table.insert(subpages,subpagename)
end
-- hoax to find {{Wikipedia:votepage/ ... style pages
local lang=mw.language.new("fi")
startkey = '\n{{' .. lang:ucfirst(namespace) ..':'.. pagename ..'/'
for subpagename in string.gfind(content, startkey .. '(%s-([^\n}]-)%s-)' .. endkey) do
table.insert(subpages,subpagename)
end
startkey = '\n{{' .. lang:lcfirst(namespace) ..':'.. pagename ..'/'
for subpagename in string.gfind(content, startkey .. '(%s-([^\n}]-)%s-)' .. endkey) do
table.insert(subpages,subpagename)
end
return subpages
end
function p.lista(frame)
local namespace = 'Wikipedia'
local ret=""
-- Äänestyssivut
local votepages = {
'Ehdokkaat suositelluiksi artikkeleiksi',
'Ehdokkaat suositelluiksi luetteloiksi',
'Ehdokkaat hyviksi artikkeleiksi',
'Poistoäänestykset',
'Palautettavat sivut'
}
for _, pagename in ipairs(votepages) do
local basepagename = namespace ..":" .. pagename
local subpages = parse_votepage(pagename, namespace, '\n{{/', '}}')
if table.getn(subpages)>0 then
ret = ret .. "* [[" .. basepagename .."|" .. pagename .."]]\n"
for _,subpagename in ipairs(subpages) do
local rowtext = "** [[" .. basepagename .. '/' ..subpagename .."|" .. subpagename .."]]\n"
ret = ret .. rowtext
end
end
end
-- Vertaisarviointi
pagename="Vertaisarviointi"
local basepagename = namespace ..":" .. pagename
local subpages = parse_votepage(pagename, namespace, '=== ?%[%[', '%]%] ?===')
ret = ret .. "* [[" .. basepagename .."|" .. pagename .."]]\n"
for _,subpagename in ipairs(subpages) do
local rowtext = "** [[" .. basepagename .."#" .. subpagename .."|" .. subpagename .."]]\n"
ret = ret .. rowtext
end
-- Muut
local num
num= mw.site.stats.pagesInCategory("Laatuarvioinnit", "pages")
if num then
ret = ret .."* [[:Luokka:Laatuarvioinnit|Laatuarvioinnit]] (" .. num .." kpl)\n"
end
num=mw.site.stats.pagesInCategory("Merkittävyys kyseenalaistettu", "all")
if num > 0 then
ret = ret .."* [[:Luokka:Merkittävyys kyseenalaistettu|Merkittävyys kyseenalaistettu]] (" .. num .." kpl)\n"
end
num = mw.site.stats.pagesInCategory("Poistokeskustelussa", "all")
if num > 0 then
ret = ret .."* [[:Luokka:Poistokeskustelussa|Poistokeskustelussa]] (" .. num .." kpl)\n"
end
return ret
end
return p