Модуль:List: відмінності між версіями
Admin (обговорення | внесок) Немає опису редагування |
Admin (обговорення | внесок) Немає опису редагування |
||
Рядок 2: | Рядок 2: | ||
function p.FetchData(frame) | function p.FetchData(frame) | ||
-- | -- List of player pages to process | ||
local | local players = { | ||
"Індиго", "Адамант", "Алоха", "Аріель", "Берлін", "Бетмен", "Браун", | |||
"ВВ", "Дантес", "Демон", "Джордж", "Доктор Хаус", "Доктор Ямато", | |||
"Емесай", "ЕХС", "Кексік", "Керміт", "Клайд", "Клей", "Комар", | |||
"Лівінгстон", "Лемур", "Містер Тен", "Малена", "Мальвінка", "Маска", | |||
"Мері", "Механік", "Ніколетта", "Оттерія", "Расм", "Сімон", "Справа", | |||
"Тайєр", "Тян", "Фавер", "Фаза", "Фейт", "Хантер", "Хоррорчік", "Шостік" | |||
} | |||
-- Start the wikitable | -- Start the wikitable | ||
Рядок 20: | Рядок 16: | ||
output = output .. '! Nickname !! Prize Pool !! Date Added !! Recruiter\n' | output = output .. '! Nickname !! Prize Pool !! Date Added !! Recruiter\n' | ||
-- Process each page | -- Process each player page | ||
for _, | for _, playerName in ipairs(players) do | ||
local page = mw.title.new( | local page = mw.title.new(playerName) | ||
local content = page:getContent() | local content = page:getContent() | ||
-- Extract data using patterns ( | -- Extract data using patterns (assume your template fields are consistent) | ||
local nickname = content:match("| nickname = ([^\n]+)") | local nickname = content:match("| nickname = ([^\n]+)") | ||
local prizePool = content:match("| prize_pool = ([^\n]+)") | local prizePool = content:match("| prize_pool = ([^\n]+)") | ||
Рядок 34: | Рядок 30: | ||
-- Append to the table | -- Append to the table | ||
output = output .. '|-\n' | output = output .. '|-\n' | ||
output = output .. string.format('| %s || %s || %s || %s\n', nickname or | output = output .. string.format('| %s || %s || %s || %s\n', nickname or playerName, prizePool or 'N/A', dateAdded or 'N/A', recruiter) | ||
end | end | ||
Поточна версія на 22:29, 22 квітня 2024
Документацію для цього модуля можна створити у Модуль:List/документація
local p = {} function p.FetchData(frame) -- List of player pages to process local players = { "Індиго", "Адамант", "Алоха", "Аріель", "Берлін", "Бетмен", "Браун", "ВВ", "Дантес", "Демон", "Джордж", "Доктор Хаус", "Доктор Ямато", "Емесай", "ЕХС", "Кексік", "Керміт", "Клайд", "Клей", "Комар", "Лівінгстон", "Лемур", "Містер Тен", "Малена", "Мальвінка", "Маска", "Мері", "Механік", "Ніколетта", "Оттерія", "Расм", "Сімон", "Справа", "Тайєр", "Тян", "Фавер", "Фаза", "Фейт", "Хантер", "Хоррорчік", "Шостік" } -- Start the wikitable local output = '{| class="wikitable"\n' output = output .. '! Nickname !! Prize Pool !! Date Added !! Recruiter\n' -- Process each player page for _, playerName in ipairs(players) do local page = mw.title.new(playerName) local content = page:getContent() -- Extract data using patterns (assume your template fields are consistent) local nickname = content:match("| nickname = ([^\n]+)") local prizePool = content:match("| prize_pool = ([^\n]+)") local dateAdded = content:match("| date_added = ([^\n]+)") local recruiterLink = content:match("| recruiter = %[%[([^|%]]+)") local recruiter = recruiterLink and mw.title.new(recruiterLink):getPrefixedText() or 'N/A' -- Append to the table output = output .. '|-\n' output = output .. string.format('| %s || %s || %s || %s\n', nickname or playerName, prizePool or 'N/A', dateAdded or 'N/A', recruiter) end -- Close the wikitable output = output .. '|}' return output end return p