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

нема опису редагування
Немає опису редагування
Немає опису редагування
Рядок 86: Рядок 86:
local function parse_row_cells(row)
local function parse_row_cells(row)
     local cells = {}
     local cells = {}
   
    -- Очищаємо рядок
    row = mw.text.trim(row)
   
    -- Видаляємо початкові символи |- та |
    row = mw.ustring.gsub(row, "^|%-\n?", "")
     row = mw.ustring.gsub(row, "^%s*|%s*", "")
     row = mw.ustring.gsub(row, "^%s*|%s*", "")
     for cell in mw.ustring.gmatch(row, "([^|]+)") do
      
        local trimmed = mw.text.trim(cell)
    -- Розбиваємо по роздільнику ||
        if trimmed ~= "" then
    if mw.ustring.find(row, "||") then
            table.insert(cells, trimmed)
        -- Є роздільник || - використовуємо його
        for cell in mw.text.gsplit(row, "||", true) do
            local trimmed = mw.text.trim(cell)
            if trimmed ~= "" then
                table.insert(cells, trimmed)
            end
        end
    else
        -- Немає роздільника || - значить це один рядок з \n
        for line in mw.ustring.gmatch(row, "[^\n]+") do
            local trimmed = mw.text.trim(line)
            trimmed = mw.ustring.gsub(trimmed, "^|%s*", "")
            if trimmed ~= "" then
                table.insert(cells, trimmed)
            end
         end
         end
     end
     end
   
     return cells
     return cells
end
end