Module:German coord convert explained

-- This module converts German Wikipedia-style coordinates to a formatted -- invocation of the templatelocal p =

function p.main(frame) local latstr = frame.args[1] or local lonstr = frame.args[2] or local tstr = frame.args[3] or local fstr = frame.args['format'] or local dstr = frame.args['display'] or local nmstr = frame.args['name'] or local ntstr = frame.args['notes'] or local issubst= frame.args['subst'] or

latstr = mw.ustring.gsub(latstr, '[%s]', ) lonstr = mw.ustring.gsub(lonstr, '[%s]', ) latstr = mw.ustring.gsub(latstr, ',', '.') lonstr = mw.ustring.gsub(lonstr, ',', '.') lonstr = mw.ustring.gsub(lonstr, '[Oo]', 'E') while mw.ustring.match(tstr, 'region:[^_/:%s]*/') do tstr = mw.ustring.gsub(tstr, '(region:[^_/:%s]*)%s*/', '%1_region:') end tstr = mw.ustring.gsub(tstr, '%s', '_') tstr = mw.ustring.gsub(tstr, '___*', '_') if (issubst ~= ) then local res = if (tstr ~= ) then res = '|' .. tstr end if (fstr ~= ) then res = res .. '|format=' .. fstr end if (dstr ~= ) then res = res .. '|display=' .. dstr end if (nmstr ~= ) then res = res .. '|name=' .. nmstr end if (ntstr ~= ) then res = res .. '|notes=' .. ntstr end latstr = mw.ustring.gsub(latstr, '/[/]*', '|') lonstr = mw.ustring.gsub(lonstr, '/[/]*', '|') return '' else local targs = mw.text.split(latstr .. '/' .. lonstr .. '/' .. tstr, '%s*/[%s/]*') if fstr ~= then targs['format'] = fstr end if dstr ~= then targs['display'] = dstr end if nmstr ~= then targs['name'] = nmstr end if ntstr ~= then targs['notes'] = ntstr end return frame:expandTemplate endend

return p