Модуль:FetchData3: відмінності між версіями

нема опису редагування
Немає опису редагування
Немає опису редагування
Рядок 183: Рядок 183:
         return error_output("Prize Data Missing", name)
         return error_output("Prize Data Missing", name)
     end
     end
   
    -- Мапа дат турнірів
    local tournament_dates = {
        ["Men's Closed Cup I"] = "01.01.2023",
        ["Women's Closed Cup I"] = "01.01.2023",
        ["Combined Closed Cup I"] = "01.01.2023",
        ["Score Open Battle I"] = "01.01.2023",
        ["Men's Closed Cup II"] = "01.01.2023",
        ["Women's Closed Cup II"] = "01.01.2023",
        ["Combined Closed Cup II"] = "01.01.2023",
        ["Score Open Battle II"] = "01.01.2023",
        ["Mafia Closed Cup I"] = "12.11.2023",
        ["Mafia Closed Cup I Online"] = "28.01.2024",
        ["My Closest Circle I"] = "01.01.2023",
        ["Get Names 01"] = "01.01.2023",
        ["Get Names 02"] = "01.01.2023",
        ["Get Names 03"] = "01.01.2023",
        ["Get Names 04"] = "01.01.2023",
        ["Get Names 05"] = "01.01.2023",
        ["Get Names 06"] = "01.01.2023",
        ["Get Names 07"] = "01.01.2023",
        ["Get Names 08"] = "01.01.2023",
        ["Get Names 09"] = "01.01.2023",
        ["Перший сезон (фінал)"] = "09.09.2023",
        ["Перший сезон (рейтинг)"] = "09.09.2023",
        ["Другий сезон (фінал)"] = "28.10.2023",
        ["Другий сезон (рейтинг)"] = "28.10.2023",
        ["Третій сезон (фінал)"] = "23.12.2023",
        ["Третій сезон (рейтинг)"] = "23.12.2023",
        ["Четвертий сезон (фінал)"] = "10.02.2024",
        ["Четвертий сезон (рейтинг)"] = "10.02.2024",
        ["П'ятий сезон (фінал)"] = "06.04.2024",
        ["П'ятий сезон (рейтинг)"] = "06.04.2024",
        ["Шостий сезон (фінал)"] = "11.05.2024",
        ["Шостий сезон (рейтинг)"] = "11.05.2024",
        ["Сьомий сезон (фінал)"] = "06.07.2024",
        ["Сьомий сезон (рейтинг)"] = "06.07.2024",
        ["Восьмий сезон (фінал)"] = "10.08.2024",
        ["Восьмий сезон (рейтинг)"] = "10.08.2024",
        ["Дев'ятий сезон (фінал)"] = "28.09.2024",
        ["Дев'ятий сезон (рейтинг)"] = "28.09.2024",
        ["Фінал Року"] = "13.10.2024"
    }
      
      
     local results = {}
     local results = {}
      
      
     -- Обидві таблиці мають ОДНАКОВУ структуру заголовків і порядок колонок
     -- Обидві таблиці мають ОДНАКОВУ структуру заголовків і порядок колонок
    -- Тому використовуємо індекс для синхронізації
     for i = 2, #titles_data.cells do
     for i = 2, #titles_data.cells do
         local cell_value = titles_data.cells[i]
         local cell_value = titles_data.cells[i]
         local header = titles_data.headers[i]
         local header = titles_data.headers[i]
         local prize_value = prize_data.cells[i] -- Беремо призові з тієї ж позиції
         local prize_value = prize_data.cells[i]
          
          
         if cell_value and cell_value ~= "" and cell_value ~= "-" and header then
         if cell_value and cell_value ~= "" and cell_value ~= "-" and header then
Рядок 200: Рядок 242:
                  
                  
                 if prize_value and prize_value ~= "" and prize_value ~= "-" then
                 if prize_value and prize_value ~= "" and prize_value ~= "-" then
                    -- Видаляємо символ ₴ якщо він вже є
                     prize_value = mw.ustring.gsub(prize_value, "₴", "")
                     prize_value = mw.ustring.gsub(prize_value, "₴", "")
                     prize_value = mw.text.trim(prize_value)
                     prize_value = mw.text.trim(prize_value)
Рядок 208: Рядок 249:
                     end
                     end
                 end
                 end
               
                -- Отримуємо дату турніру
                local date = tournament_dates[header] or "01.01.2023"
                  
                  
                 -- Форматуємо посилання на турнір
                 -- Форматуємо посилання на турнір
Рядок 213: Рядок 257:
                  
                  
                 table.insert(results, {
                 table.insert(results, {
                    date = date,
                     medal = medal,
                     medal = medal,
                     tournament = tournament_link,
                     tournament = tournament_link,
Рядок 228: Рядок 273:
     local table_html = {
     local table_html = {
         '{| class="wikitable sortable" style="width: calc(100% - 470px);"',
         '{| class="wikitable sortable" style="width: calc(100% - 470px);"',
         '! Турнір !! Призові',
         '! Дата !! Турнір !! Призові',
         '|-'
         '|-'
     }
     }
Рядок 234: Рядок 279:
     for _, result in ipairs(results) do
     for _, result in ipairs(results) do
         table.insert(table_html, string.format(
         table.insert(table_html, string.format(
             '| style="text-align:left; padding-left:10px;" | %s %s || style="text-align:right;" | %s',
             '| style="text-align:left;" | %s || style="text-align:left; padding-left:10px;" | %s %s || style="text-align:right;" | %s',
            result.date,
             result.medal,
             result.medal,
             result.tournament,
             result.tournament,