27.171
Bearbeitungen
Keine Bearbeitungszusammenfassung Markierung: Zurückgesetzt |
(Änderung 789204 von HeikoBot (Diskussion) rückgängig gemacht.) Markierung: Rückgängigmachung |
||
| (52 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 htm = require("Modul:HTML") | local htm = require("Modul:HTML") | ||
local wob = require("Modul:Wörterbuch") | |||
local | local wartungsmeldungen = { | ||
{ | {gruppe = "'''Dateien'''<br>(Bilder, Videos, ...)", | ||
meldungen = { | |||
{ ["Wartungsmeldung"] = "Bild-Beschreibung fehlt | {["Wartungsmeldung"] = "Bild-Beschreibung fehlt"}, | ||
-- {["Wartungsmeldung"] = "Bilder-Galerie leer", ["Info"] = "Nur zu Info. Ist kein Problem."}, | |||
{ ["Wartungsmeldung"] = "Bilder-Galerie übervoll", | {["Wartungsmeldung"] = "Bilder-Galerie übervoll", ["Info"] = "Siehe auch [[FürthWiki:Galerie-Bilder-Ausblendung]]"}, | ||
{ ["Wartungsmeldung"] = "Datei- | {["Wartungsmeldung"] = "Datei ohne Formular-Daten"}, | ||
{ ["Wartungsmeldung"] = "Datei-Freiattribut-Fehler | {["Wartungsmeldung"] = "Datei-Lizenz-Angabe fehlt"}, | ||
{ ["Wartungsmeldung"] = "Datei-Freiattribut-Fehler Orts-Angabe | {["Wartungsmeldung"] = "Datei-Freiattribut-Fehler"}, | ||
{ ["Wartungsmeldung"] = " | {["Wartungsmeldung"] = "Datei-Freiattribut-Fehler Orts-Angabe", ["Info"] = "Der Ort wurde als Freiattribut und nicht im Orts-Feld angegeben."}, | ||
{ ["Wartungsmeldung"] = "Faktenbox- | {["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"}}}, | |||
{ ["Wartungsmeldung"] = "Faktenbox fehlt | {gruppe = "'''Faktenbox'''<br>(Formular-Angaben)", | ||
{ ["Wartungsmeldung"] = " | meldungen = { | ||
{ ["Wartungsmeldung"] = " | {["Wartungsmeldung"] = "Faktenbox fehlt"}, | ||
{ ["Wartungsmeldung"] = " | {["Wartungsmeldung"] = "Faktenbox ohne Formular-Daten"}, | ||
{ ["Wartungsmeldung"] = "Faktenbox- | {["Wartungsmeldung"] = "Faktenbox-Daten nicht unterstützt (Einzelwerte)"}, | ||
{["Wartungsmeldung"] = "Faktenbox veraltet"}, | |||
{ ["Wartungsmeldung"] = "Faktenbox- | {["Wartungsmeldung"] = "Faktenbox-Bild existiert nicht", ["Info"] = "Es wurde im Formular ein Bild eingetragen, das nicht (mehr) existiert"}, | ||
{ ["Wartungsmeldung"] = "Faktenbox-Karte (Position) fehlt", | {["Wartungsmeldung"] = "Faktenbox-Bild fehlt"}, | ||
{["Wartungsmeldung"] = "Faktenbox-Karte (Position) fehlt", ["Info"] = "Nichts eingetragen als Objekt-Lokation, Koordinate oder GeoJson-Karte"}}}, | |||
{gruppe = "'''Geo'''<br>(Karten, Positionsangabe, ...)", | |||
{ ["Wartungsmeldung"] = " | meldungen = { | ||
{ ["Wartungsmeldung"] = "Geo-Kodierungsfehler - Objekt-Lokation bei ehemaligen Objekt funktioniert nicht", [" | {["Wartungsmeldung"] = "Geo-Fehler - fehlerhafte Koordinate", ["Info"] = "Schreibfehler"}, | ||
{ ["Wartungsmeldung"] = "Geo-Kodierungsfehler - Objekt-Lokation nicht gefunden", | {["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 | {["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 und Geo-Koordinate nicht in SMW-DB vorhanden", | {["Wartungsmeldung"] = "Geo-Kodierungsfehler - Positionsangabe fehlt"}, | ||
{ ["Wartungsmeldung"] = "Geo- | {["Wartungsmeldung"] = "Geo-Kodierungsfehler - fehlende Geo-Koordinate trotz Objekt-Lokation", ["Info"] = "FürthWiki-interne Meldung (Server-Problem)"}, | ||
{ ["Wartungsmeldung"] = " | {["Wartungsmeldung"] = "Geo-Kodierungsfehler und Geo-Koordinate nicht in SMW-DB vorhanden", ["Info"] = "FürthWiki-interne Meldung (Server-Problem)"}, | ||
{ ["Wartungsmeldung"] = " | {["Wartungsmeldung"] = "Geo-Kodierungsfehler, aber Geokoordinate in SMW-DB noch vorhanden", ["Info"] = "FürthWiki-interne Meldung (Server-Problem)"}}}, | ||
{ ["Wartungsmeldung"] = " | {gruppe = "'''Kategorie-spezifisch'''<br>(Karten, Positionsangabe, ...)", | ||
{ ["Wartungsmeldung"] = " | meldungen = { | ||
{ ["Wartungsmeldung"] = " | {["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) | ||
-- Kommandozeile zum Debuggen: | |||
-- =p.Wartungstabelle{pargs={}} | |||
local frame = dev.GetFrameAndParentArgs(frame) | |||
local t = "" | local t = "" | ||
-- | -- Kategorie-Selektor | ||
local kategorie = frame.args["Kategorie"] or | |||
wob.mehrzahl(frame.args["Klasse"] or "") | |||
local kategorie_selector = "" | |||
local kategorie_query_string = "" | |||
if kategorie ~= "" then | |||
kategorie_selector = "[[Kategorie:" .. kategorie .. "]]" | |||
kategorie_query_string = | |||
"&Abfrage Wartungsmeldungen[Kategorie]=" .. kategorie | |||
kategorie = " [[:Kategorie:" .. kategorie .. "]]" | |||
end | |||
-- Tabelle zusammensetzen | -- Tabelle zusammensetzen | ||
for | t = t .. htm.tableHeader{ | ||
"Gruppe", "Wartungsmeldungen" .. kategorie, "Seitenanzahl"} | |||
-- Tabellen-Zeilen | |||
for _, g in ipairs(wartungsmeldungen) do | |||
local gruppe = g.gruppe | |||
local meldungen = g.meldungen | |||
for _, m in ipairs(g.meldungen) do | |||
local wartungsmeldung = m["Wartungsmeldung"] | |||
-- Anzahl ermitteln | -- Anzahl ermitteln | ||
local | local anzahl = mw.smw.ask{ | ||
"[[Wartungsmeldung::" .. wartungsmeldung .. "]]" .. | |||
kategorie_selector, format="count"} | |||
if anzahl == 0 then | |||
anzahl = "" | |||
end | end | ||
-- queryformlink zusammenbauen | -- 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 | end | ||
-- Zeile zusammenbauen | -- 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 | end | ||
-- Tabellen-Fuß | -- Tabellen-Fuß | ||
t = t .. htm.tableFooter() | t = t .. htm.tableFooter() | ||
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 | ||