5441
редагування
Admin (обговорення | внесок) Немає опису редагування Мітка: Скасовано |
Admin (обговорення | внесок) Немає опису редагування Мітка: Скасовано |
||
| Рядок 32: | Рядок 32: | ||
-- Отримуємо заголовки (перший рядок після {|) | -- Отримуємо заголовки (перший рядок після {|) | ||
local headers = {} | local headers = {} | ||
local first_row = | local first_row = nil | ||
-- Спробуємо знайти рядок заголовків | |||
for line in mw.ustring.gmatch(table_content, "([^\n]+)") do | |||
if mw.ustring.match(line, "^!") then | |||
first_row = line | |||
break | |||
end | |||
end | end | ||
if first_row then | if first_row then | ||
-- | -- Розбиваємо по ! або !! | ||
for header in mw.ustring.gmatch(first_row, "!+%s*([^!]+)") do | |||
for header in mw.ustring.gmatch(first_row, "([^!]+)") do | |||
local trimmed = mw.text.trim(header) | local trimmed = mw.text.trim(header) | ||
if trimmed ~= "" then | if trimmed ~= "" then | ||
table.insert(headers, trimmed) | table.insert(headers, trimmed) | ||
| Рядок 106: | Рядок 104: | ||
return nil | return nil | ||
elseif value == "1" then | elseif value == "1" then | ||
return "[[Файл:Gold.png|1-е]]" | return "[[Файл:Gold.png|1-е Місце]]" | ||
elseif value == "2" then | elseif value == "2" then | ||
return "[[Файл:Silver.png|2-е]]" | return "[[Файл:Silver.png|2-е Місце]]" | ||
elseif value == "3" then | elseif value == "3" then | ||
return "[[Файл:Bronze.png|3-е]]" | return "[[Файл:Bronze.png|3-е Місце]]" | ||
elseif value == "4" then | elseif value == "4" then | ||
return "[[Файл:Finalist.png| | return "[[Файл:Finalist.png|Фіналіст]]" | ||
elseif value == "S" or mw.ustring.match(value, "^S%d") then | elseif value == "S" or mw.ustring.match(value, "^S%d") then | ||
return "[[Файл:Star.png| | return "[[Файл:Star.png|Найкращий]]" | ||
else | else | ||
return nil | return nil | ||
end | end | ||
end | end | ||
| Рядок 202: | Рядок 178: | ||
---------------------------------------------------------------------- | ---------------------------------------------------------------------- | ||
-- ГОЛОВНА ФУНКЦІЯ ДЛЯ ОТРИМАННЯ ТИТУЛІВ | -- ГОЛОВНА ФУНКЦІЯ ДЛЯ ОТРИМАННЯ ТИТУЛІВ | ||
---------------------------------------------------------------------- | ---------------------------------------------------------------------- | ||
function p.titles(frame) | function p.titles(frame) | ||
| Рядок 211: | Рядок 187: | ||
end | end | ||
local data, err = get_player_row("Титули", name) | |||
local | |||
if not data then | |||
return err or "''Відсутні''" | |||
if | |||
end | end | ||
local titles = {} | |||
local | |||
-- Пропускаємо першу колонку (ім'я гравця) | -- Пропускаємо першу колонку (ім'я гравця) | ||
for i = 2, # | for i = 2, #data.cells do | ||
local cell_value = | local cell_value = data.cells[i] | ||
local header = | local header = data.headers[i] | ||
if cell_value and cell_value ~= " | if cell_value and cell_value ~= "" and header then | ||
local medal = get_medal_icon(cell_value) | local medal = get_medal_icon(cell_value) | ||
if medal then | if medal then | ||
local tournament = get_tournament_link(header) | |||
table.insert(titles, string.format("* %s '''%s'''", medal, tournament)) | |||
local | |||
end | end | ||
end | end | ||
end | end | ||
if # | if #titles == 0 then | ||
return "''Відсутні''" | return "''Відсутні''" | ||
end | end | ||
return table.concat(titles, "\n") | |||
return table.concat( | |||
end | end | ||
return p | return p | ||