|
|
| (12 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt) |
| Zeile 4: |
Zeile 4: |
| 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 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)
| | mw.logObject(t) |
| t = frame:preprocess(t) | | t = frame:preprocess(t) |
| return t | | return t |