Модуль:Песочница/Pok: различия между версиями
Pok (обсуждение | вклад) м Содержимое страницы заменено на «local p = {} local frame = mw.getCurrentFrame() function p.listUncategorizedGIFs() local uncategorized = {} local allFiles = mw.site.allPages('', 'File') for title in allFiles do local filename = title.text if filename:match("%.gif$") then local file = mw.title.new('File:' .. filename) if file then local content = file:getContent() if content and not content:match('%[%[Category:') then table.insert(...» Метка: замена |
Pok (обсуждение | вклад) мНет описания правки |
||
| Строка 1: | Строка 1: | ||
-- Загрузка данных | |||
local priceData = mw.loadData("Модуль:IanComradeBot/prototypes/StaticPrice.json/data") | |||
local p = {} | local p = {} | ||
function p. | function p.main(frame) | ||
-- Получаем первый параметр, который должен быть id | |||
local id = frame.args[1] or frame.args.id | |||
if not id then | |||
return "Ошибка: не передан id" | |||
end | |||
-- Проходим по всем записям в priceData | |||
for _, item in ipairs(priceData) do | |||
if item.id == id then | |||
return frame:preprocess("{{ColorPalette|Other|price|" .. item.StaticPrice.price .. "}}$") | |||
end | |||
end | |||
-- Если не нашли совпадение, возвращаем стандартный текст | |||
return frame:preprocess("нет") | |||
end | |||
function p.table(frame) | |||
local output = {} | |||
table.insert(output, '{| class="wikitable"') | |||
for _, item in ipairs(priceData) do | |||
local name = frame:preprocess('{{#invoke:Entity Lookup|getname|' .. item.id .. '}}') | |||
local price = frame:preprocess('{{ColorPalette|Other|price|' .. item.StaticPrice.price .. '}}') .. '$' | |||
table.insert(output, '|-') | |||
table.insert(output, '| {{Cut-Layout|' .. name .. '|' .. price .. '}}') | |||
end | |||
table.insert(output, '|}') | |||
return frame:preprocess(table.concat(output, "\n")) | |||
end | end | ||
return p | return p | ||