Modul:Karte: Unterschied zwischen den Versionen

+ nowarn
(+ 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
mw.smw.set{["Wartungsmeldung"]="Geo-Kodierungsfehler - Objekt-Lokation bei ehemaligen Objekt funktioniert nicht"}
  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
mw.smw.set{["Wartungsmeldung"]="Geo-Kodierungsfehler - Objekt-Lokation nicht gefunden"}
  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?
mw.smw.set{["Wartungsmeldung"]="Geo-Kodierungsfehler, aber Geokoordinate in SMW-DB noch 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
mw.smw.set{["Wartungsmeldung"]="Geo-Kodierungsfehler und Geo-Koordinate nicht in SMW-DB vorhanden"}
  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)
else
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]]"
mw.smw.set{["Wartungsmeldung"]="Geo-Kodierungsfehler - Positionsangabe fehlt"}
  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