27.167
Bearbeitungen
Keine Bearbeitungszusammenfassung |
(Änderung 789204 von HeikoBot (Diskussion) rückgängig gemacht.) Markierung: Rückgängigmachung |
||
| (18 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) | |||
| Zeile 1: | Zeile 1: | ||
local p = {} | local p = {} | ||
local com = require("Modul:Common") | |||
local dev = require("Modul:Development") | local dev = require("Modul:Development") | ||
local htm = require("Modul:HTML") | local htm = require("Modul:HTML") | ||
| Zeile 6: | Zeile 7: | ||
local wartungsmeldungen = { | local wartungsmeldungen = { | ||
{ | {gruppe = "'''Dateien'''<br>(Bilder, Videos, ...)", | ||
{ | meldungen = { | ||
{["Wartungsmeldung"] = "Bild-Beschreibung fehlt"}, | |||
-- {["Wartungsmeldung"] = "Bilder-Galerie leer", ["Info"] = "Nur zu Info. Ist kein Problem."}, | -- {["Wartungsmeldung"] = "Bilder-Galerie leer", ["Info"] = "Nur zu Info. Ist kein Problem."}, | ||
{["Wartungsmeldung"] = "Bilder-Galerie übervoll", ["Info"] = "Siehe auch [[FürthWiki:Galerie-Bilder-Ausblendung]]"}, | |||
{["Wartungsmeldung"] = "Datei ohne Formular-Daten"}, | |||
{["Wartungsmeldung"] = "Datei-Lizenz-Angabe fehlt"}, | |||
{["Wartungsmeldung"] = "Datei-Freiattribut-Fehler"}, | |||
{["Wartungsmeldung"] = "Faktenbox fehlt"}, | {["Wartungsmeldung"] = "Datei-Freiattribut-Fehler Orts-Angabe", ["Info"] = "Der Ort wurde als Freiattribut und nicht im Orts-Feld angegeben."}, | ||
{["Wartungsmeldung"] = "Datei-Freiattribut-Fehler Straßen-Angabe", ["Info"] = "Die Straße wurde als Freiattribut und nicht im Straßen-Feld angegeben."}, | |||
{["Wartungsmeldung"] = "Faktenbox darf nicht in Datei-Seite sein"}}}, | |||
{gruppe = "'''Faktenbox'''<br>(Formular-Angaben)", | |||
meldungen = { | |||
{["Wartungsmeldung"] = "Faktenbox fehlt"}, | |||
{ | {["Wartungsmeldung"] = "Faktenbox ohne Formular-Daten"}, | ||
{["Wartungsmeldung"] = "Geo-Fehler - fehlerhafte Koordinate", ["Info"] = "Schreibfehler"}, | {["Wartungsmeldung"] = "Faktenbox-Daten nicht unterstützt (Einzelwerte)"}, | ||
{["Wartungsmeldung"] = "Faktenbox veraltet"}, | |||
{["Wartungsmeldung"] = "Faktenbox-Bild existiert nicht", ["Info"] = "Es wurde im Formular ein Bild eingetragen, das nicht (mehr) existiert"}, | |||
{["Wartungsmeldung"] = "Faktenbox-Bild fehlt"}, | |||
{["Wartungsmeldung"] = "Faktenbox-Karte (Position) fehlt", ["Info"] = "Nichts eingetragen als Objekt-Lokation, Koordinate oder GeoJson-Karte"}}}, | |||
{gruppe = "'''Geo'''<br>(Karten, Positionsangabe, ...)", | |||
meldungen = { | |||
{["Wartungsmeldung"] = "Gewässer ohne Stadtteil"}, | {["Wartungsmeldung"] = "Geo-Fehler - fehlerhafte Koordinate", ["Info"] = "Schreibfehler"}, | ||
{["Wartungsmeldung"] = " | {["Wartungsmeldung"] = "Geo-Kodierungsfehler - Objekt-Lokation bei ehemaligen Objekt funktioniert nicht", ["Info"] = "Es können nur heute bestehende Objekt-Lokation gefunden werden. Bei ehemaligen Objekten muss die Koordinate eingetragen werden."}, | ||
{["Wartungsmeldung"] = "Geo-Kodierungsfehler - Objekt-Lokation nicht gefunden", ["Info"] = "Objekt fehlt in OpenStreetMap oder ist dort fehlerhaft eingetragen. Im Zweifelsfall sollte Koordinate eingetragen werden."}, | |||
{["Wartungsmeldung"] = "Geo-Kodierungsfehler - Positionsangabe fehlt"}, | |||
{["Wartungsmeldung"] = "Geo-Kodierungsfehler - fehlende Geo-Koordinate trotz Objekt-Lokation", ["Info"] = "FürthWiki-interne Meldung (Server-Problem)"}, | |||
{["Wartungsmeldung"] = "Geo-Kodierungsfehler und Geo-Koordinate nicht in SMW-DB vorhanden", ["Info"] = "FürthWiki-interne Meldung (Server-Problem)"}, | |||
{["Wartungsmeldung"] = "Geo-Kodierungsfehler, aber Geokoordinate in SMW-DB noch vorhanden", ["Info"] = "FürthWiki-interne Meldung (Server-Problem)"}}}, | |||
{gruppe = "'''Kategorie-spezifisch'''<br>(Karten, Positionsangabe, ...)", | |||
meldungen = { | |||
{["Wartungsmeldung"] = "Abrissjahr/Schließungsdatum eingetragen, aber ohne Ehemals-Häkchen"}, | |||
{["Wartungsmeldung"] = "Adresse fehlerhaft"}, | |||
{["Wartungsmeldung"] = "Beruf-Seite fehlt"}, | |||
{["Wartungsmeldung"] = "Gebäude mit verdächtiger Straße-Hausnummer-Kombination"}, | |||
{["Wartungsmeldung"] = "Gewässer ohne Stadtteil"}, | |||
{["Wartungsmeldung"] = "Straßen ohne Stadtteil"}}}, | |||
{gruppe = "'''Qualität'''<br>(Händische Markierungen)", | |||
meldungen = { | |||
{["Wartungsmeldung"] = "Artikel markiert als Baustelle"}, | |||
{["Wartungsmeldung"] = "Artikel markiert als veraltet"}, | |||
{["Wartungsmeldung"] = "Artikel markiert als zu überarbeiten"}, | |||
{["Wartungsmeldung"] = "Artikel markiert mit Belege unzureichend"}, | |||
{["Wartungsmeldung"] = "Artikel markiert mit Daten unplausibel"}, | |||
{["Wartungsmeldung"] = "Artikel markiert mit Neutralität umstritten"}, | |||
{["Wartungsmeldung"] = "Artikel markiert mit Relevanz mangelhaft"}}}, | |||
{gruppe = "'''Sonstig'''", | |||
meldungen = { | |||
{["Wartungsmeldung"] = "Lemma (Seitenname) enthält „(ehemals)“, aber ohne Ehemals-Häkchen"}, | |||
{["Wartungsmeldung"] = "Seitenname (Lemma) hat Semikolon", ["Info"] = "Nicht erlaubt bei Seiten mit Karten"}}}} | |||
function p.Wartungstabelle(frame) | function p.Wartungstabelle(frame) | ||
| Zeile 51: | Zeile 75: | ||
end | end | ||
-- Tabelle zusammensetzen | -- Tabelle zusammensetzen | ||
t = t .. htm.tableHeader{"Wartungsmeldungen" .. kategorie, "Seitenanzahl"} | t = t .. htm.tableHeader{ | ||
"Gruppe", "Wartungsmeldungen" .. kategorie, "Seitenanzahl"} | |||
-- Tabellen-Zeilen | -- Tabellen-Zeilen | ||
for _, | for _, g in ipairs(wartungsmeldungen) do | ||
local wartungsmeldung = | local gruppe = g.gruppe | ||
local meldungen = g.meldungen | |||
for _, m in ipairs(g.meldungen) do | |||
local wartungsmeldung = m["Wartungsmeldung"] | |||
-- Anzahl ermitteln | |||
local anzahl = mw.smw.ask{ | |||
anzahl = "" | "[[Wartungsmeldung::" .. wartungsmeldung .. "]]" .. | ||
kategorie_selector, format="count"} | |||
if anzahl == 0 then | |||
anzahl = "" | |||
end | |||
-- queryformlink zusammenbauen | |||
local queryformlink = { "", -- dummy | |||
["form"] = "Abfrage Wartungsmeldungen", | |||
["link text"] = wartungsmeldung, | |||
["query string"] = | |||
"Abfrage Wartungsmeldungen[Wartungsmeldung]=" .. | |||
wartungsmeldung .. kategorie_query_string .. "&_run" | |||
} | |||
wartungsmeldung = | |||
frame:callParserFunction("#queryformlink", queryformlink) | |||
-- Info anfügen | |||
local info = m["Info"] | |||
if info ~= nil then | |||
wartungsmeldung = wartungsmeldung .. " " .. | |||
"{{#info:" .. info .. "|note}}" | |||
end | |||
-- Zeile zusammenbauen | |||
if gruppe ~= nil then | |||
t = t .. htm.tableLine{ | |||
{gruppe, td_args = "rowspan=\"" .. #meldungen , "\""}, | |||
wartungsmeldung, | |||
{anzahl, td_args = "style=\"text-align:center;\""}} | |||
gruppe = nil | |||
else | |||
t = t .. htm.tableLine{ | |||
wartungsmeldung, | |||
{anzahl, td_args = "style=\"text-align:center;\""}} | |||
end | |||
end | end | ||
end | end | ||
-- Tabellen-Fuß | -- Tabellen-Fuß | ||
| Zeile 85: | Zeile 124: | ||
mw.logObject(t) | mw.logObject(t) | ||
t = frame:preprocess(t) | t = frame:preprocess(t) | ||
return t | |||
end | |||
function p.AbfrageSeitenListe(frame) | |||
-- Kommandozeile zum Debuggen: | |||
-- =p.AbfrageSeitenListe{pargs={}} | |||
-- =p.AbfrageSeitenListe{pargs={["Wartungsmeldung"]="Bild-Beschreibung fehlt"}} | |||
local t = "" | |||
local frame, pargs = dev.GetFrameAndParentArgs(frame) | |||
-- Seiten-Selektor | |||
local selector = "" | |||
if not com.isEmpty(pargs["Wartungsmeldung"]) then | |||
selector = selector .. | |||
"[[Wartungsmeldung::~*" .. pargs["Wartungsmeldung"] .. "*]]" | |||
else | |||
selector = selector .. | |||
"[[Wartungsmeldung::+]]" | |||
end | |||
if not com.isEmpty(pargs["Kategorie"]) then | |||
selector = selector .. | |||
"[[Kategorie:" .. pargs["Kategorie"] .. "]]" | |||
end | |||
if not com.isEmpty(pargs["KlassenName"]) then | |||
selector = selector .. | |||
"[[KlassenName::" .. pargs["KlassenName"] .. "]]" | |||
end | |||
if not com.isEmpty(pargs["Ehemals"]) then | |||
selector = selector .. | |||
"[[Ehemals::" .. pargs["Ehemals"] .. "]]" | |||
end | |||
if pargs["Namensraum"] == "(Seite)" or | |||
pargs["Namensraum"] == "Lemma" or | |||
pargs["Namensraum"] == "" then | |||
selector = "[[:+]]" .. selector | |||
elseif pargs["Namensraum"] == "Datei" then | |||
selector = "[[Datei:+]]" .. selector | |||
else | |||
selector = "[[:+]]" .. selector .. " OR [[Datei:+]]" .. selector | |||
end | |||
-- Anzahl ermitteln und anzeigen | |||
local query = {selector, format = "count"} | |||
query = mw.smw.ask(query) | |||
t = t .. "'''" .. query .. " Seiten gefunden'''<br>\n" | |||
-- ask hinzufügen | |||
query = {selector, | |||
"?Wartungsmeldung", | |||
"?Kategorie", | |||
"?KlassenName=Klasse", | |||
"?Ehemals#Ja,Nein", | |||
format = "table", | |||
limit = 200, | |||
mainlabel = "Seite"} | |||
if pargs["Klasse"] == "Gebäude" then | |||
table.insert(query, "?Straße") | |||
end | |||
t = t .. frame:callParserFunction("#ask", query) | |||
return t | return t | ||
end | end | ||
return p | return p | ||