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

нема опису редагування
Немає опису редагування
Немає опису редагування
Рядок 23: Рядок 23:
     local escaped_player = mw.ustring.gsub(player_name, "([%(%)%.%-%+%[%]])", "%%%1")
     local escaped_player = mw.ustring.gsub(player_name, "([%(%)%.%-%+%[%]])", "%%%1")
      
      
     local pattern = "|%s*%[%[" .. escaped_player .. "%]%]" .. "((.-)|)"
     local row_pattern = "([|]%s*(.-)%s*[|]%s*%[%[" .. escaped_player .. "%]%](.-))"
     local direct_pattern = "|%s*" .. escaped_player .. "%s*" .. "((.-)|)"
     local row_match = mw.ustring.match(table_content, row_pattern)
      
      
     local row_match = mw.ustring.match(table_content, pattern) or mw.ustring.match(table_content, direct_pattern)
     if not row_match then
        row_pattern = "([|]%s*(.-)%s*[|]%s*" .. escaped_player .. "%s*[|](.-))"
        row_match = mw.ustring.match(table_content, row_pattern)
    end


     if not row_match then
     if not row_match then
Рядок 33: Рядок 36:


     local columns = {}
     local columns = {}
     for value in mw.ustring.gmatch(row_match, "[^|]+") do
     for value in mw.ustring.gmatch(row_match, "[|][^|]+") do
        value = mw.ustring.gsub(value, "^|", "")
         table.insert(columns, mw.text.trim(value))
         table.insert(columns, mw.text.trim(value))
     end
     end
 
   
     local result = columns[column_index - 1]  
     local result = columns[column_index]  


     if result then
     if result then
Рядок 49: Рядок 53:
function p.date_added(frame)
function p.date_added(frame)
     local player = frame.args.player
     local player = frame.args.player
     local date_str = fetch_data_from_table("Гравці", player, 2)
     local date_str = fetch_data_from_table("Гравці", player, 3)


     if not date_str or date_str == "" then
     if not date_str or date_str == "" then
Рядок 76: Рядок 80:
function p.recruiter(frame)
function p.recruiter(frame)
     local player = frame.args.player
     local player = frame.args.player
     local recruiter_name = fetch_data_from_table("Гравці", player, 3)
     local recruiter_name = fetch_data_from_table("Гравці", player, 4)


     if not recruiter_name or recruiter_name == "" or recruiter_name == "Не вказано" then
     if not recruiter_name or recruiter_name == "" or recruiter_name == "Не вказано" then
Рядок 91: Рядок 95:
function p.prize_pool(frame)
function p.prize_pool(frame)
     local player = frame.args.player
     local player = frame.args.player
     local amount = fetch_data_from_table("Призовий_фонд", player, 2)
     local amount = fetch_data_from_table("Призовий_фонд", player, 3)


     if not amount or amount == "" then
     if not amount or amount == "" then
Рядок 105: Рядок 109:
function p.foundation(frame)
function p.foundation(frame)
     local player = frame.args.player
     local player = frame.args.player
     local amount = fetch_data_from_table("Фундація", player, 2)
     local amount = fetch_data_from_table("Фундація", player, 3)


     if not amount or amount == "" then
     if not amount or amount == "" then
Рядок 119: Рядок 123:
function p.final(frame)
function p.final(frame)
     local player = frame.args.player
     local player = frame.args.player
     local count = fetch_data_from_table("Фіналіст", player, 2)
     local count = fetch_data_from_table("Фіналіст", player, 3)


     if not count or count == "" then
     if not count or count == "" then