Modul:Stadtwikis: Unterschied zwischen den Versionen

Aus FürthWiki

(Die Seite wurde neu angelegt: „local p = {} --local c = require( "Module:Common" ) function p.Versuch(frame) --pf = frame:getParent() --args = pf.args url = frame.args.url or "" t=mw.ext.externaldata.getWebData { url = "https://www.fuerthwiki.de/wiki/api.php?action=query&meta=siteinfo&siprop=statistics&format=json;" , extract = "*" , format = "json" } return t end return p“)
 
K (Entfernte den Schutz von „Modul:Stadtwikis“)
 
(189 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
local p = {}
local p = {}
--local c = require( "Module:Common" )
local c = require( "Module:Common" )


function p.Versuch(frame)
function getUrls()
--pf = frame:getParent()
local urls = {
--args = pf.args
        "https://www.fuerthwiki.de/wiki/api.php",
url = frame.args.url or ""
    "https://oesterreichwiki.org/w/api.php",
t=mw.ext.externaldata.getWebData {
    "https://www.geschichtewiki.wien.gv.at/api.php",
    url = "https://www.fuerthwiki.de/wiki/api.php?action=query&meta=siteinfo&siprop=statistics&format=json;"
    "https://www.sn.at/wiki/api.php",
  , extract = "*"
    "https://www.niederbayern-wiki.de/api.php",
  , format = "json"
    "https://www.hammwiki.info/api.php",
}
    "https://www.muenchenwiki.de/w/api.php",
return t
    "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
end


function p.Versuch(frame)
    local urls = getUrls()
    local results = {}
    local stat, info
   
    for i = 1, #urls do
        local data_stat = mw.ext.externalData.getWebData{
        url = urls[i].."?action=query&meta=siteinfo&siprop=statistics&format=json",
        format = "json"}
        local data_info = mw.ext.externalData.getWebData{
        url = urls[i].."?action=query&meta=siteinfo&format=json",
        format = "json"}
        results[i] = {
            stat = mw.clone(data_stat),
            info = mw.clone(data_info)
        }
    end
local h='<table class="wikitable sortable"><tr>'..
'<th>Wiki URL</th>'..
'<th>Artikel</th>'..
'<th>Bilder</th>'..
'<th>Bearbeitungen</th>'..
'<th>Benutzer</th>'..
'<th>Aktive</th>'..
'<th>Admins</th>'..
'</tr>'
for i = 1, #urls do
h=h..tabelizeData(urls[i], results[i].stat, results[i].info)
mw.log(mw.dumpObject(results[i].info))
end
h=h.."<table>"
    return h
end
function tabelizeData(url, s, i)
h='<tr>'..
'<td>'..i['sitename']..'</br>'..i['base']..'</td>'..
'<td>'..s['articles']..'</td>'..
'<td>'..s['images']..'</td>'..
'<td>'..s['edits']..'</td>'..
'<td>'..s['users']..'</td>'..
'<td>'..s['activeusers']..'</td>'..
'<td>'..s['admins']..'</td>'..
'</tr>'
return h
end
return p
return p

Aktuelle Version vom 27. Oktober 2025, 08:02 Uhr

Die Dokumentation für dieses Modul kann unter Modul:Stadtwikis/Doku erstellt werden

local p = {}
local c = require( "Module:Common" )

function getUrls()
	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)	
    local urls = getUrls()
    local results = {}
    local stat, info
    
    for i = 1, #urls do
        local data_stat = mw.ext.externalData.getWebData{ 
        	url = urls[i].."?action=query&meta=siteinfo&siprop=statistics&format=json", 
        	format = "json"}
        local data_info = mw.ext.externalData.getWebData{
        	url = urls[i].."?action=query&meta=siteinfo&format=json", 
        	format = "json"}

        results[i] = {
            stat = mw.clone(data_stat),
            info = mw.clone(data_info)
        }
    end
	local h='<table class="wikitable sortable"><tr>'..
		'<th>Wiki URL</th>'..
		'<th>Artikel</th>'..
		'<th>Bilder</th>'..
		'<th>Bearbeitungen</th>'..
		'<th>Benutzer</th>'..
		'<th>Aktive</th>'..
		'<th>Admins</th>'..
	'</tr>'
	for i = 1, #urls do
		h=h..tabelizeData(urls[i], results[i].stat, results[i].info)
		mw.log(mw.dumpObject(results[i].info))
	end
	h=h.."<table>"
    return h
end

function tabelizeData(url, s, i)
	h='<tr>'..
		'<td>'..i['sitename']..'</br>'..i['base']..'</td>'..
		'<td>'..s['articles']..'</td>'..
		'<td>'..s['images']..'</td>'..
		'<td>'..s['edits']..'</td>'..
		'<td>'..s['users']..'</td>'..
		'<td>'..s['activeusers']..'</td>'..
		'<td>'..s['admins']..'</td>'..
	'</tr>'
	return h
end
return p