local p = {}
local htm = require("Modul:HTML")
local zeilen =
{ { "Wartungsmeldung", "Kategorie", "KlassenName", "Ehemals", "Anzahl"},
{ ["Wartungsmeldung"] = "Adresse fehlerhaft", ["Kategorie"] = "", ["KlassenName"] = "", ["Ehemals"] = ""},
{ ["Wartungsmeldung"] = "Bild-Beschreibung fehlt", ["Kategorie"] = "", ["KlassenName"] = "", ["Ehemals"] = ""},
{ ["Wartungsmeldung"] = "Bilder-Galerie leer", ["Kategorie"] = "", ["KlassenName"] = "", ["Ehemals"] = ""},
{ ["Wartungsmeldung"] = "Bilder-Galerie übervoll", ["Kategorie"] = "", ["KlassenName"] = "", ["Ehemals"] = ""},
{ ["Wartungsmeldung"] = "Datei-Freiattribut-Fehler", ["Kategorie"] = "", ["KlassenName"] = "", ["Ehemals"] = ""},
{ ["Wartungsmeldung"] = "Datei-Freiattribut-Fehler Straßen-Angabe", ["Kategorie"] = "", ["KlassenName"] = "", ["Ehemals"] = ""},
{ ["Wartungsmeldung"] = "Datei-Freiattribut-Fehler Orts-Angabe", ["Kategorie"] = "", ["KlassenName"] = "", ["Ehemals"] = ""},
{ ["Wartungsmeldung"] = "Faktenbox ohne Formular-Daten", ["Kategorie"] = "", ["KlassenName"] = "", ["Ehemals"] = ""},
{ ["Wartungsmeldung"] = "Faktenbox-Bild fehlt", ["Kategorie"] = "", ["KlassenName"] = "", ["Ehemals"] = ""},
{ ["Wartungsmeldung"] = "Faktenbox-Bild existiert nicht", ["Kategorie"] = "", ["KlassenName"] = "", ["Ehemals"] = ""},
{ ["Wartungsmeldung"] = "Faktenbox fehlt", ["Kategorie"] = "", ["KlassenName"] = "", ["Ehemals"] = ""},
{ ["Wartungsmeldung"] = "Seitenname (Lemma) hat Semikolon", ["Kategorie"] = "", ["KlassenName"] = "", ["Ehemals"] = ""},
{ ["Wartungsmeldung"] = "Seitenname (Lemma) hat Schrägstrich", ["Kategorie"] = "", ["KlassenName"] = "", ["Ehemals"] = ""},
{ ["Wartungsmeldung"] = "Gebäude mit verdächtiger Straße-Hausnummer-Kombination", ["Kategorie"] = "", ["KlassenName"] = "", ["Ehemals"] = ""},
{ ["Wartungsmeldung"] = "Faktenbox-Karte (Position) fehlt", ["Kategorie"] = "", ["KlassenName"] = "", ["Ehemals"] = ""},
{ ["Wartungsmeldung"] = "Faktenbox-Karte (Position) fehlt", ["Kategorie"] = "", ["KlassenName"] = "Gaststätte", ["Ehemals"] = ""},
{ ["Wartungsmeldung"] = "Faktenbox-Karte (Position) fehlt", ["Kategorie"] = "", ["KlassenName"] = "Gebäude", ["Ehemals"] = ""},
{ ["Wartungsmeldung"] = "Faktenbox-Karte (Position) fehlt", ["Kategorie"] = "", ["KlassenName"] = "Straße", ["Ehemals"] = ""},
{ ["Wartungsmeldung"] = "Faktenbox-Karte (Position) fehlt", ["Kategorie"] = "", ["KlassenName"] = "Stadtteil", ["Ehemals"] = ""},
{ ["Wartungsmeldung"] = "Faktenbox-Karte (Position) fehlt", ["Kategorie"] = "", ["KlassenName"] = "Gewässer", ["Ehemals"] = ""},
{ ["Wartungsmeldung"] = "Gewässer ohne Stadtteil", ["Kategorie"] = "", ["KlassenName"] = "", ["Ehemals"] = ""},
{ ["Wartungsmeldung"] = "Geo-Kodierungsfehler - Objekt-Lokation bei ehemaligen Objekt funktioniert nicht", ["Kategorie"] = "", ["KlassenName"] = "", ["Ehemals"] = ""},
{ ["Wartungsmeldung"] = "Geo-Kodierungsfehler - Objekt-Lokation nicht gefunden", ["Kategorie"] = "", ["KlassenName"] = "", ["Ehemals"] = ""},
{ ["Wartungsmeldung"] = "Geo-Kodierungsfehler, aber Geokoordinate in SMW-DB noch vorhanden", ["Kategorie"] = "", ["KlassenName"] = "", ["Ehemals"] = ""},
{ ["Wartungsmeldung"] = "Geo-Kodierungsfehler und Geo-Koordinate nicht in SMW-DB vorhanden", ["Kategorie"] = "", ["KlassenName"] = "", ["Ehemals"] = ""},
{ ["Wartungsmeldung"] = "Geo-Fehler - fehlerhafte Koordinate", ["Kategorie"] = "", ["KlassenName"] = "", ["Ehemals"] = ""},
{ ["Wartungsmeldung"] = "Geo-Kodierungsfehler - Positionsangabe fehlt", ["Kategorie"] = "", ["KlassenName"] = "", ["Ehemals"] = ""},
{ ["Wartungsmeldung"] = "Geo-Kodierungsfehler - fehlende Geo-Koordinate trotz Objekt-Lokation", ["Kategorie"] = "", ["KlassenName"] = "", ["Ehemals"] = ""},
{ ["Wartungsmeldung"] = "Beruf-Seite fehlt", ["Kategorie"] = "", ["KlassenName"] = "", ["Ehemals"] = ""},
{ ["Wartungsmeldung"] = "Straßen ohne Stadtteil", ["Kategorie"] = "", ["KlassenName"] = "", ["Ehemals"] = ""},
{ ["Wartungsmeldung"] = "Faktenbox veraltet", ["Kategorie"] = "", ["KlassenName"] = "", ["Ehemals"] = ""},
}
function p.Wartungstabelle(frame)
local t = ""
-- zeilen Tabelle sortieren
table.sort(zeilen,
function(z1, z2)
z1, z2 = z1["Wartungsmeldung"], z2["Wartungsmeldung"]
return z1 ~= nil and z2 ~= nil and string.byte(z1) < string.byte(z2)
end)
-- Tabelle zusammensetzen
for i, z in ipairs(zeilen) do
if i == 1 then
-- Tabellen-Überschrift
t = t .. htm.tableHeader(z)
else
-- Tabellen-Zeile
-- Anzahl ermitteln
local query = ""
for _, s in ipairs(zeilen[1]) do
if z[s] ~= "" and s ~= "Anzahl" then
query = query .. "[[" .. s .. "::" .. z[s] .. "]]"
end
end
query = query .. "|format=count"
z["Anzahl"] = mw.smw.ask(query)
if z["Anzahl"] == 0 then
z["Anzahl"] = ""
end
-- queryformlink zusammenbauen
query = ""
for _, s in ipairs(zeilen[1]) do
if z[s] ~= "" and s ~= "Anzahl" then
query = query ..
"Abfrage Wartungsmeldungen[" .. s .. "]=" .. z[s] .. "&"
end
end
query = query .. "_run"
z["Wartungsmeldung"] ="{{#queryformlink:" ..
"form=Abfrage Wartungsmeldungen" ..
"|link text=" .. z["Wartungsmeldung"] ..
"|query string=" .. query ..
"}}"
-- Zeile zusammenbauen
local line = {}
for _, s in ipairs(zeilen[1]) do
table.insert(line, z[s])
end
t = t .. htm.tableLine(line)
end
end
-- Tabellen-Fuß
t = t .. htm.tableFooter()
t = frame:preprocess(t)
return t
end
return p