|
|
| (18 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) |
| Zeile 1: |
Zeile 1: |
| local p = {} | | local p = {} |
|
| |
|
| | local dev = require("Modul:Development") |
| local htm = require("Modul:HTML") | | local htm = require("Modul:HTML") |
|
| |
|
| local zeilen = | | local wartungsmeldungen = { |
| { { "Wartungsmeldung", "Kategorie", "KlassenName", "Ehemals", "Anzahl"}, | | {["Wartungsmeldung"] = "Adresse fehlerhaft"}, |
| { ["Wartungsmeldung"] = "Adresse fehlerhaft", ["Kategorie"] = "", ["KlassenName"] = "", ["Ehemals"] = ""},
| | {["Wartungsmeldung"] = "Beruf-Seite fehlt"}, |
| { ["Wartungsmeldung"] = "Bild-Beschreibung fehlt", ["Kategorie"] = "", ["KlassenName"] = "", ["Ehemals"] = ""},
| | {["Wartungsmeldung"] = "Bild-Beschreibung fehlt"}, |
| { ["Wartungsmeldung"] = "Bilder-Galerie leer", ["Kategorie"] = "", ["KlassenName"] = "", ["Ehemals"] = ""},
| | -- {["Wartungsmeldung"] = "Bilder-Galerie leer", ["Info"] = "Nur zu Info. Ist kein Problem."}, |
| { ["Wartungsmeldung"] = "Bilder-Galerie übervoll", ["Kategorie"] = "", ["KlassenName"] = "", ["Ehemals"] = ""},
| | {["Wartungsmeldung"] = "Bilder-Galerie übervoll"}, |
| { ["Wartungsmeldung"] = "Datei-Freiattribut-Fehler", ["Kategorie"] = "", ["KlassenName"] = "", ["Ehemals"] = ""},
| | {["Wartungsmeldung"] = "Datei-Freiattribut-Fehler Orts-Angabe"}, |
| { ["Wartungsmeldung"] = "Datei-Freiattribut-Fehler Straßen-Angabe", ["Kategorie"] = "", ["KlassenName"] = "", ["Ehemals"] = ""},
| | {["Wartungsmeldung"] = "Datei-Freiattribut-Fehler Straßen-Angabe"}, |
| { ["Wartungsmeldung"] = "Datei-Freiattribut-Fehler Orts-Angabe", ["Kategorie"] = "", ["KlassenName"] = "", ["Ehemals"] = ""},
| | {["Wartungsmeldung"] = "Datei-Freiattribut-Fehler"}, |
| { ["Wartungsmeldung"] = "Faktenbox ohne Formular-Daten", ["Kategorie"] = "", ["KlassenName"] = "", ["Ehemals"] = ""},
| | {["Wartungsmeldung"] = "Faktenbox fehlt"}, |
| { ["Wartungsmeldung"] = "Faktenbox-Bild fehlt", ["Kategorie"] = "", ["KlassenName"] = "", ["Ehemals"] = ""},
| | {["Wartungsmeldung"] = "Faktenbox ohne Formular-Daten"}, |
| { ["Wartungsmeldung"] = "Faktenbox-Bild existiert nicht", ["Kategorie"] = "", ["KlassenName"] = "", ["Ehemals"] = ""},
| | {["Wartungsmeldung"] = "Faktenbox veraltet"}, |
| { ["Wartungsmeldung"] = "Faktenbox fehlt", ["Kategorie"] = "", ["KlassenName"] = "", ["Ehemals"] = ""},
| | {["Wartungsmeldung"] = "Faktenbox-Bild existiert nicht", ["Info"] = "Es wurde im Formular ein Bild eingetragen, das nicht (mehr) existiert"}, |
| { ["Wartungsmeldung"] = "Seitenname (Lemma) hat Semikolon", ["Kategorie"] = "", ["KlassenName"] = "", ["Ehemals"] = ""},
| | {["Wartungsmeldung"] = "Faktenbox-Bild fehlt"}, |
| { ["Wartungsmeldung"] = "Seitenname (Lemma) hat Schrägstrich", ["Kategorie"] = "", ["KlassenName"] = "", ["Ehemals"] = ""},
| | {["Wartungsmeldung"] = "Faktenbox-Karte (Position) fehlt", ["Info"] = "Nichts eingetragen als Objekt-Lokation, Koordinate oder GeoJson-Karte"}, |
| { ["Wartungsmeldung"] = "Gebäude mit verdächtiger Straße-Hausnummer-Kombination", ["Kategorie"] = "", ["KlassenName"] = "", ["Ehemals"] = ""},
| | {["Wartungsmeldung"] = "Gebäude mit verdächtiger Straße-Hausnummer-Kombination"}, |
| { ["Wartungsmeldung"] = "Faktenbox-Karte (Position) fehlt", ["Kategorie"] = "", ["KlassenName"] = "", ["Ehemals"] = ""},
| | {["Wartungsmeldung"] = "Geo-Fehler - fehlerhafte Koordinate", ["Info"] = "Schreibfehler"}, |
| { ["Wartungsmeldung"] = "Faktenbox-Karte (Position) fehlt", ["Kategorie"] = "", ["KlassenName"] = "Gaststätte", ["Ehemals"] = ""},
| | {["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"] = "Faktenbox-Karte (Position) fehlt", ["Kategorie"] = "", ["KlassenName"] = "Gebäude", ["Ehemals"] = ""},
| | {["Wartungsmeldung"] = "Geo-Kodierungsfehler - Objekt-Lokation nicht gefunden", ["Info"] = "Objekt fehlt in OpenStreetMap oder ist dort fehlerhaft eingetragen. Im Zweifelsfall sollte Koordinate eingetragen werden."}, |
| { ["Wartungsmeldung"] = "Faktenbox-Karte (Position) fehlt", ["Kategorie"] = "", ["KlassenName"] = "Straße", ["Ehemals"] = ""},
| | {["Wartungsmeldung"] = "Geo-Kodierungsfehler - Positionsangabe fehlt"}, |
| { ["Wartungsmeldung"] = "Faktenbox-Karte (Position) fehlt", ["Kategorie"] = "", ["KlassenName"] = "Stadtteil", ["Ehemals"] = ""},
| | {["Wartungsmeldung"] = "Geo-Kodierungsfehler - fehlende Geo-Koordinate trotz Objekt-Lokation", ["Info"] = "FürthWiki-interne Meldung (Server-Problem)"}, |
| { ["Wartungsmeldung"] = "Faktenbox-Karte (Position) fehlt", ["Kategorie"] = "", ["KlassenName"] = "Gewässer", ["Ehemals"] = ""},
| | {["Wartungsmeldung"] = "Geo-Kodierungsfehler und Geo-Koordinate nicht in SMW-DB vorhanden", ["Info"] = "FürthWiki-interne Meldung (Server-Problem)"}, |
| { ["Wartungsmeldung"] = "Gewässer ohne Stadtteil", ["Kategorie"] = "", ["KlassenName"] = "", ["Ehemals"] = ""},
| | {["Wartungsmeldung"] = "Geo-Kodierungsfehler, aber Geokoordinate in SMW-DB noch vorhanden", ["Info"] = "FürthWiki-interne Meldung (Server-Problem)"}, |
| { ["Wartungsmeldung"] = "Geo-Kodierungsfehler - Objekt-Lokation bei ehemaligen Objekt funktioniert nicht", ["Kategorie"] = "", ["KlassenName"] = "", ["Ehemals"] = ""},
| | {["Wartungsmeldung"] = "Gewässer ohne Stadtteil"}, |
| { ["Wartungsmeldung"] = "Geo-Kodierungsfehler - Objekt-Lokation nicht gefunden", ["Kategorie"] = "", ["KlassenName"] = "", ["Ehemals"] = ""},
| | {["Wartungsmeldung"] = "Schließungsdatum eingetragen, aber ohne Ehemals-Häkchen"}, |
| { ["Wartungsmeldung"] = "Geo-Kodierungsfehler, aber Geokoordinate in SMW-DB noch vorhanden", ["Kategorie"] = "", ["KlassenName"] = "", ["Ehemals"] = ""},
| | {["Wartungsmeldung"] = "Seitenname (Lemma) hat Semikolon", ["Info"] = "Nicht erlaubt bei Seiten mit Karten"}, |
| { ["Wartungsmeldung"] = "Geo-Kodierungsfehler und Geo-Koordinate nicht in SMW-DB vorhanden", ["Kategorie"] = "", ["KlassenName"] = "", ["Ehemals"] = ""},
| | {["Wartungsmeldung"] = "Straßen ohne Stadtteil"}, |
| { ["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) | | function p.Wartungstabelle(frame) |
| | -- Kommandozeile zum Debuggen: |
| | -- =p.Wartungstabelle{pargs={}} |
| | local frame = dev.GetFrameAndParentArgs(frame) |
| local t = "" | | 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 | | -- Tabelle zusammensetzen |
| for i, z in ipairs(zeilen) do | | t = t .. htm.tableHeader{"Wartungsmeldung", "Anzahl"} |
| if i == 1 then
| | -- Tabellen-Zeilen |
| -- Tabellen-Überschrift
| | for _, z in ipairs(wartungsmeldungen) do |
| t = t .. htm.tableHeader(z)
| | local wartungsmeldung = z["Wartungsmeldung"] |
| else
| | -- Anzahl ermitteln |
| -- Tabellen-Zeile
| | local anzahl = |
| -- Anzahl ermitteln
| | mw.smw.ask("[[:+]][[Wartungsmeldung::" .. wartungsmeldung .. "]]" .. |
| local query = ""
| | "|format=count") |
| for _, s in ipairs(zeilen[1]) do
| | if anzahl == 0 then |
| if z[s] ~= "" and s ~= "Anzahl" then
| | anzahl = "" |
| 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 |
| | -- queryformlink zusammenbauen |
| | wartungsmeldung = "{{#queryformlink:" .. |
| | "form=Abfrage Wartungsmeldungen" .. |
| | "|link text=" .. wartungsmeldung .. |
| | "|query string=" .. |
| | "Abfrage Wartungsmeldungen[Wartungsmeldung]=" .. |
| | wartungsmeldung .. |
| | "&_run}}" |
| | -- Info anfügen |
| | local info = z["Info"] |
| | if info ~= nil then |
| | wartungsmeldung = wartungsmeldung .. " " .. |
| | "{{#info:" .. info .. "|note}}" |
| | end |
| | -- Zeile zusammenbauen |
| | t = t .. htm.tableLine{wartungsmeldung, {anzahl, td_args = "style=\"text-align:center;\""}} |
| 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 | | return t |