20.708
Bearbeitungen
(+ Liste mit den Karten-Argumenten) |
(+ nowarn) |
||
| Zeile 36: | Zeile 36: | ||
local geoobjects = {} | local geoobjects = {} | ||
local pagename = args["pagename"] or wik.pagename() -- nur zum Debuggen pagename vorgebbar | local pagename = args["pagename"] or wik.pagename() -- nur zum Debuggen pagename vorgebbar | ||
local nowarn = com.isTrue(args["nowarn"]) | |||
-- defaults setzen | -- defaults setzen | ||
| Zeile 91: | Zeile 92: | ||
if string.match(location, "%d") == nil and -- textuellen location (Keine Koordinaten-Zahl)? | if string.match(location, "%d") == nil and -- textuellen location (Keine Koordinaten-Zahl)? | ||
com.isTrue(args["Ehemals"]) then | com.isTrue(args["Ehemals"]) then | ||
if not nowarn then | |||
mw.smw.set{["Wartungsmeldung"] = | |||
"Geo-Kodierungsfehler - Objekt-Lokation bei ehemaligen Objekt funktioniert nicht"} | |||
end | |||
else | else | ||
local geocode = frame:callParserFunction("#geocode", location) | local geocode = frame:callParserFunction("#geocode", location) | ||
| Zeile 101: | Zeile 105: | ||
-- geocode nicht erfolgreich => SMW-DB-Eintrag nehmen | -- geocode nicht erfolgreich => SMW-DB-Eintrag nehmen | ||
geokodierungsfehler = true | geokodierungsfehler = true | ||
if not nowarn then | |||
mw.smw.set{["Wartungsmeldung"] = | |||
"Geo-Kodierungsfehler - Objekt-Lokation nicht gefunden"} | |||
end | |||
local smw_geokoordinate = mw.smw.ask( -- SMW-Abfrage | local smw_geokoordinate = mw.smw.ask( -- SMW-Abfrage | ||
"[[-Has subobject::" .. pagename .. "]]" .. -- liefert nil, wenn nix gefunden | "[[-Has subobject::" .. pagename .. "]]" .. -- liefert nil, wenn nix gefunden | ||
| Zeile 109: | Zeile 116: | ||
smw_geokoordinate = smw_geokoordinate[1]["Geokoordinate"] -- 1. Ergebnis (limit=1) | smw_geokoordinate = smw_geokoordinate[1]["Geokoordinate"] -- 1. Ergebnis (limit=1) | ||
if smw_geokoordinate ~= nil then -- SMW-DB Geokoordinate vorhanden? | if smw_geokoordinate ~= nil then -- SMW-DB Geokoordinate vorhanden? | ||
if not nowarn then | |||
mw.smw.set{["Wartungsmeldung"] = | |||
"Geo-Kodierungsfehler, aber Geokoordinate in SMW-DB noch vorhanden"} | |||
end | |||
geoobject_entry["Geokoordinate"] = smw_geokoordinate -- SMW-DB-Koordinate übernehmen (beibehalten) | geoobject_entry["Geokoordinate"] = smw_geokoordinate -- SMW-DB-Koordinate übernehmen (beibehalten) | ||
geoobject_entry["Quellangaben"] = "SMW-DB" | geoobject_entry["Quellangaben"] = "SMW-DB" | ||
minimum_one_geocode_ok = true | minimum_one_geocode_ok = true | ||
else -- geocode und SMW-DB-Abfrage nicht erfolgreich | else -- geocode und SMW-DB-Abfrage nicht erfolgreich | ||
if not nowarn then | |||
mw.smw.set{["Wartungsmeldung"] = | |||
"Geo-Kodierungsfehler und Geo-Koordinate nicht in SMW-DB vorhanden"} | |||
end | |||
geoobject_entry["Quellangaben"] = "geocode error" | geoobject_entry["Quellangaben"] = "geocode error" | ||
end | end | ||
| Zeile 135: | Zeile 148: | ||
["KartePopupText"] = str.nilStrip(args["popuptext"])} | ["KartePopupText"] = str.nilStrip(args["popuptext"])} | ||
table.insert(geoobjects, geoobject_entry) | table.insert(geoobjects, geoobject_entry) | ||
elseif not nowarn then | |||
mw.smw.set{["Wartungsmeldung"]="Geo-Fehler - fehlerhafte Koordinate"} | mw.smw.set{["Wartungsmeldung"]="Geo-Fehler - fehlerhafte Koordinate"} | ||
end | end | ||
| Zeile 228: | Zeile 241: | ||
geoobjects.geojson.fullpagename .. | geoobjects.geojson.fullpagename .. | ||
"].<br>Siehe auch [[Hilfe:Karten]]" | "].<br>Siehe auch [[Hilfe:Karten]]" | ||
if not nowarn then | |||
mw.smw.set{["Wartungsmeldung"] = | |||
"Geo-Kodierungsfehler - Positionsangabe fehlt"} | |||
end | |||
end | end | ||
| Zeile 246: | Zeile 262: | ||
-- Check "Hat Geolokation, aber keine Geokoordinate" | -- Check "Hat Geolokation, aber keine Geokoordinate" | ||
for _, o in ipairs(geoobjects) do | for _, o in ipairs(geoobjects) do | ||
if o["Geolokation"] ~= nil and o["Geokoordinate"] == nil then | if o["Geolokation"] ~= nil and o["Geokoordinate"] == nil and not nowarn then | ||
mw.smw.set{["Wartungsmeldung"]="Geo-Kodierungsfehler - fehlende Geo-Koordinate trotz Objekt-Lokation"} | mw.smw.set{["Wartungsmeldung"]="Geo-Kodierungsfehler - fehlende Geo-Koordinate trotz Objekt-Lokation"} | ||
end | end | ||