Modul:Wartung: Unterschied zwischen den Versionen

Aus FürthWiki

Keine Bearbeitungszusammenfassung
Keine Bearbeitungszusammenfassung
 
(19 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"] = "Seitenname (Lemma) hat Schrägstrich", ["Info"] = "Kann problematisch sein, weil als Unterseite gewertet"},
{ ["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"] = ""},
}
}


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)
-- 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

Aktuelle Version vom 15. Januar 2026, 15:04 Uhr

local p = {}

local dev = require("Modul:Development")
local htm = require("Modul:HTML")

local wartungsmeldungen = {
	{["Wartungsmeldung"] = "Adresse fehlerhaft"},
	{["Wartungsmeldung"] = "Beruf-Seite fehlt"},
	{["Wartungsmeldung"] = "Bild-Beschreibung fehlt"},
	{["Wartungsmeldung"] = "Bilder-Galerie leer", ["Info"] = "Nur zu Info. Ist kein Problem."},
	{["Wartungsmeldung"] = "Bilder-Galerie übervoll"},
	{["Wartungsmeldung"] = "Datei-Freiattribut-Fehler Orts-Angabe"},
	{["Wartungsmeldung"] = "Datei-Freiattribut-Fehler Straßen-Angabe"},
	{["Wartungsmeldung"] = "Datei-Freiattribut-Fehler"},
	{["Wartungsmeldung"] = "Faktenbox fehlt"},
	{["Wartungsmeldung"] = "Faktenbox ohne Formular-Daten"},
	{["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"},
	{["Wartungsmeldung"] = "Gebäude mit verdächtiger Straße-Hausnummer-Kombination"},
	{["Wartungsmeldung"] = "Geo-Fehler - fehlerhafte Koordinate", ["Info"] = "Schreibfehler"},
	{["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)"},
	{["Wartungsmeldung"] = "Gewässer ohne Stadtteil"},
	{["Wartungsmeldung"] = "Seitenname (Lemma) hat Schrägstrich", ["Info"] = "Kann problematisch sein, weil als Unterseite gewertet"},
	{["Wartungsmeldung"] = "Seitenname (Lemma) hat Semikolon", ["Info"] = "Nicht erlaubt bei Seiten mit Karten"},
	{["Wartungsmeldung"] = "Straßen ohne Stadtteil"},
	}

function p.Wartungstabelle(frame)
	-- Kommandozeile zum Debuggen:
	-- =p.Wartungstabelle{pargs={}}
	local frame = dev.GetFrameAndParentArgs(frame)
	local t = ""
	-- Tabelle zusammensetzen
	t = t .. htm.tableHeader{"Wartungsmeldung", "Anzahl"}
	-- Tabellen-Zeilen
	for _, z in ipairs(wartungsmeldungen) do
		local wartungsmeldung = z["Wartungsmeldung"]
		-- Anzahl ermitteln
		local anzahl =
			mw.smw.ask("[[:+]][[Wartungsmeldung::" .. wartungsmeldung .. "]]" ..
				"|format=count")
		if anzahl == 0 then
			anzahl = ""
		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
	-- Tabellen-Fuß
	t = t .. htm.tableFooter()
	mw.logObject(t)
	t = frame:preprocess(t)
	return t
end

return p