Модуль:Meta Sprite: различия между версиями
Pok (обсуждение | вклад) Новая страница: «-- Загрузка данных local data = mw.loadData("Модуль:IanComradeBot/meta sprite.json/data") local p = {} function p.main(frame) local mode = frame.args[1] -- Режим local path = frame.args[2] -- Путь if not mode or not path then return "Ошибка: необходимо указать режим и путь." end local entry = data[path] if not entry then return "Ошибка: п...» |
Pok (обсуждение | вклад) мНет описания правки |
||
| (не показано 11 промежуточных версий этого же участника) | |||
| Строка 6: | Строка 6: | ||
function p.main(frame) | function p.main(frame) | ||
local mode = frame.args[1] -- Режим | local mode = frame.args[1] -- Режим | ||
local path = frame.args[2] -- | local filePath = require('Module:FilePath') | ||
local path = filePath.getOthersPath({ args = { frame.args[2] } }) -- Входной путь | |||
if not mode or not path then | if not mode or not path then | ||
return "Ошибка: необходимо указать режим и путь." | return "Ошибка: необходимо указать режим и путь." | ||
end | end | ||
local entry = data | local entry = nil | ||
-- Ищем среди всех ключей JSON по полному совпадению суффикса | |||
for key, value in pairs(data) do | |||
if key:sub(-#path) == path then | |||
entry = value | |||
break | |||
end | |||
end | |||
-- Если ничего не найдено | |||
if not entry then | if not entry then | ||
return " | return "" | ||
end | end | ||
local result = entry[mode] | local result = entry[mode] | ||
if not result then | if not result then | ||
return "Ошибка: указанный режим не найден в данных." | return "Ошибка: указанный режим не найден в данных." | ||
end | end | ||
return result | return result | ||
end | end | ||
return p | return p | ||