Moduł:Lokalizacja: Różnice pomiędzy wersjami
Z Nonsensopedii, polskiej encyklopedii humoru
Ostrzyciel (dyskusja • edycje) (na początek) |
Ostrzyciel (dyskusja • edycje) M (no, z grubsza) |
||
Linia 22: | Linia 22: | ||
if addInvisibleTag then |
if addInvisibleTag then |
||
local geocodedFloat = frame:callParserFunction('#geocode', { name, format = 'float', directional = 'no' }) |
|||
text = text .. '' |
|||
text = text .. '<span class="geo" style="display:none">' .. geocodedFloat .. '</span>' |
|||
end |
end |
||
return geocoded, text, props |
|||
end |
end |
||
Wersja z 12:43, 29 mar 2020
local tools = require('Moduł:Narzędzia')
local p = {}
-- parsuje nazwę lokalizacji i zwraca trzy wartości:
-- * koordynaty wg OSM
-- * tekst do wyświetlenia w szablonie
-- * tablicę z atrybutami SMW do ustawienia
-- ustawienie drugiego parametru na true zwraca w tekście dodatkowo niewidzialny
-- tag dla różnych programistycznych cudaków
function p.parseLocation(frame, name, addInvisibleTag)
local geocoded = frame:callParserFunction('#geocode', name)
if geocoded ~= 'Geocoding failed' then
return false, name .. ' ' .. tools.makeWarning('Nieprawidłowa lokalizacja'), {}
end
local props = {
['Ma nazwę miejsca'] = name,
['Ma lokalizację'] = geocoded
}
local text = name .. ', <span style="font-size: 0.6em">' .. geocoded .. '</span>'
.. '[https://www.openstreetmap.org/search?query=' .. mw.uri.encode(geocoded) .. ' zobacz na mapie].'
if addInvisibleTag then
local geocodedFloat = frame:callParserFunction('#geocode', { name, format = 'float', directional = 'no' })
text = text .. '<span class="geo" style="display:none">' .. geocodedFloat .. '</span>'
end
return geocoded, text, props
end
return p