Модуль:GetField: различия между версиями
Pok (обсуждение | вклад) мНет описания правки |
Pok (обсуждение | вклад) мНет описания правки |
||
| Строка 72: | Строка 72: | ||
end | end | ||
local function | local function to_nowiki(v) | ||
local ok, | local s = tostring(v) | ||
if | local ok, res = pcall(mw.text.nowiki, s) | ||
return | if ok and res then | ||
return res | |||
end | end | ||
return mw.text.nowiki(s) | |||
end | end | ||
| Строка 219: | Строка 219: | ||
if type(v) == "table" then | if type(v) == "table" then | ||
if is_array(v) then | if is_array(v) then | ||
local json = | local ok, json = pcall(mw.text.jsonEncode, v) | ||
if json then | if ok and json then | ||
parts[#parts + 1] = key .. "=" .. json | parts[#parts + 1] = key .. "=" .. to_nowiki(json) | ||
end | end | ||
else | else | ||
local json = | local ok, json = pcall(mw.text.jsonEncode, v) | ||
if json then | if ok and json then | ||
parts[#parts + 1] = key .. "=" .. json | parts[#parts + 1] = key .. "=" .. to_nowiki(json) | ||
end | end | ||
walk(v, key) | walk(v, key) | ||
end | end | ||
else | else | ||
parts[#parts + 1] = key .. "=" .. | parts[#parts + 1] = key .. "=" .. to_nowiki(v) | ||
end | end | ||
end | end | ||