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

478 байтів вилучено ,  2 грудень
нема опису редагування
Немає опису редагування
Мітка: Скасовано
Немає опису редагування
Мітки: Ручний відкіт Скасовано
Рядок 486: Рядок 486:
     end
     end
      
      
    -- ВИПРАВЛЕННЯ: Отримуємо контент напряму
     local page_content = get_page_content("Записи_ігор")
     local table_content = get_table_from_page("Записи_ігор")
     if not page_content then
     if not table_content then
         return error_output("Не вдалося завантажити сторінку Записи_ігор")
         return error_output("Не вдалося завантажити таблицю Записи_ігор")
     end
     end
      
      
    local table_start = mw.ustring.find(page_content, "{|")
    local table_end = mw.ustring.find(page_content, "|}", table_start)
   
    if not table_start or not table_end then
        return error_output("Не знайдено таблицю")
    end
   
    local table_content = mw.ustring.sub(page_content, table_start, table_end + 1)
     local rows = parse_table_rows(table_content)
     local rows = parse_table_rows(table_content)
      
      
Рядок 509: Рядок 516:
             if #cells >= 17 then
             if #cells >= 17 then
                 local game_type = cells[2]
                 local game_type = cells[2]
                 local tournament = clean_wikilinks(cells[4])
                 local tournament = cells[4]
                 local time = cells[5]
                 local time = cells[5]
                 local result = cells[16]
                 local result = cells[16]
Рядок 601: Рядок 608:
      
      
     return table.concat(output, '\n')
     return table.concat(output, '\n')
end
function p.games_count_records(frame)
    local player_name = frame.args.player or frame.args[1]
   
    if not player_name or player_name == "" then
        return "0"
    end
   
    local table_content = get_table_from_page("Записи_ігор")
    if not table_content then
        return "0"
    end
   
    local rows = parse_table_rows(table_content)
   
    local escaped_name = mw.ustring.gsub(player_name, "([%^%$%(%)%%%.%[%]%*%+%-%?])", "%%%1")
    local player_pattern = "%[%[" .. escaped_name .. "%]%]"
   
    local count = 0
    for _, row in ipairs(rows) do
        if mw.ustring.find(row, player_pattern) then
            count = count + 1
        end
    end
   
    return tostring(count)
end
end