Modul:Stadtwikis: Unterschied zwischen den Versionen

Aus FürthWiki

K
Entfernte den Schutz von „Modul:Stadtwikis
Keine Bearbeitungszusammenfassung
K (Entfernte den Schutz von „Modul:Stadtwikis“)
 
(37 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt)
Zeile 2: Zeile 2:
local c = require( "Module:Common" )
local c = require( "Module:Common" )


--local http = require("mw.http")
function getUrls()
--local json = require("mw.text").jsonDecode
local urls = {
        "https://www.fuerthwiki.de/wiki/api.php",
    "https://oesterreichwiki.org/w/api.php",
    "https://www.geschichtewiki.wien.gv.at/api.php",
    "https://www.sn.at/wiki/api.php",
    "https://www.niederbayern-wiki.de/api.php",
    "https://www.hammwiki.info/api.php",
    "https://www.muenchenwiki.de/w/api.php",
    "https://rhein-neckar-wiki.de/api.php",
    "https://www.gelsenkirchener-geschichten.de/w/api.php",
    "https://atterwiki.at/api.php",
    "https://www.ennstalwiki.at/wiki/api.php",
    "https://wiki.muenster.org/api.php",
    "https://www.tuepedia.de/api.php",
    -- "https://www.linzwiki.at/w/api.php" <= Fehlerteufel
    }
    -- Ausgefallene oder nicht vorhandene MediaWikis:
    -- "https://ka.stadtwiki.net/w/api.php", <= siteinfo down
    -- "https://www.aw-wiki.de/w/api.php", <= siteinfo down
-- "https://www.stadtwikidd.de/wiki/api.php" <= too old version, no api
-- "https://wuerzburgwiki.de/w/api.php",
    return urls
end


function p.Versuch(frame)
function p.Versuch(frame)
urls = {"https://www.fuerthwiki.de/wiki/api.php",
    local urls = getUrls()
    "https://oesterreichwiki.org/w/api.php",
    local results = {}
    "https://www.geschichtewiki.wien.gv.at/api.php",
    local stat, info
    -- "https://ka.stadtwiki.net/w/api.php", <= siteinfo down
   
    "https://www.sn.at/wiki/api.php",
    for i = 1, #urls do
    "https://www.niederbayern-wiki.de/api.php",
        local data_stat = mw.ext.externalData.getWebData{
    -- "https://www.aw-wiki.de/w/api.php", <= siteinfo down
        url = urls[i].."?action=query&meta=siteinfo&siprop=statistics&format=json",  
    "https://www.hammwiki.info/api.php",
        format = "json"}
    "https://www.muenchenwiki.de/w/api.php",
        local data_info = mw.ext.externalData.getWebData{
    "https://rhein-neckar-wiki.de/api.php",
        url = urls[i].."?action=query&meta=siteinfo&format=json",  
    -- "https://www.stadtwikidd.de/wiki/api.php" <= too old version, no api
        format = "json"}
    "https://www.gelsenkirchener-geschichten.de/w/api.php",
 
    "https://atterwiki.at/api.php",
        results[i] = {
    "https://www.ennstalwiki.at/wiki/api.php",
            stat = mw.clone(data_stat),
    --"https://wuerzburgwiki.de/w/api.php",
            info = mw.clone(data_info)
    "https://wiki.muenster.org/api.php",
        }
    "https://www.tuepedia.de/api.php",
    end
    "https://www.linzwiki.at/w/api.php",
local h='<table class="wikitable sortable"><tr>'..
}
   
h='<table class="wikitable sortable"><tr>'..
'<th>Wiki URL</th>'..
'<th>Wiki URL</th>'..
'<th>Artikel</th>'..
'<th>Artikel</th>'..
Zeile 35: Zeile 54:
'<th>Admins</th>'..
'<th>Admins</th>'..
'</tr>'
'</tr>'
for i = 1, #urls do
results = {}
h=h..tabelizeData(urls[i], results[i].stat, results[i].info)
for i, u in ipairs(urls) do
mw.log(mw.dumpObject(results[i].info))
local stat = mw.ext.externalData.getWebData{
    url=u.."?action=query&meta=siteinfo&siprop=statistics&format=json",
    format="json"
}
local info = mw.ext.externalData.getWebData{
    url=u.."?action=query&meta=siteinfo&format=json",
    format="json"
}
results[i] = {
A=mw.clone(stat),
B=mw.clone(info)
}
end
end
h=h.."<table>"
mw.log("Results: " .. mw.dumpObject(results))
    return h
 
h=h..'</table>'
return h
end
end


function tabelizeData(url, t)
function tabelizeData(url, s, i)
h='<tr>'..
h='<tr>'..
'<td>'..url..'</td>'..
'<td>'..i['sitename']..'</br>'..i['base']..'</td>'..
'<td>'..t['articles']..'</td>'..
'<td>'..s['articles']..'</td>'..
'<td>'..t['images']..'</td>'..
'<td>'..s['images']..'</td>'..
'<td>'..t['edits']..'</td>'..
'<td>'..s['edits']..'</td>'..
'<td>'..t['users']..'</td>'..
'<td>'..s['users']..'</td>'..
'<td>'..t['activeusers']..'</td>'..
'<td>'..s['activeusers']..'</td>'..
'<td>'..t['admins']..'</td>'..
'<td>'..s['admins']..'</td>'..
'</tr>'
'</tr>'
return h
return h
end
function getAPIdata(url, data)
mw.ext.externalData.getWebData {url=url,
data=data,
format="json"
}
    return mw.ext.externalData.getExternalData(data)
end
end
return p
return p