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

нема опису редагування
Немає опису редагування
Немає опису редагування
Рядок 29: Рядок 29:
     local table_content = mw.ustring.sub(content, table_start, table_end + 1)
     local table_content = mw.ustring.sub(content, table_start, table_end + 1)
      
      
     -- Знаходимо заголовки
     -- Знаходимо заголовки (шукаємо рядок, що починається з !)
     local header_row = mw.ustring.match(table_content, "!%s*([^\n]+)\n|-")
     local header_row = nil
    for line in mw.ustring.gmatch(table_content, "([^\n]+)") do
        if mw.ustring.match(line, "^!") then
            header_row = line
            break
        end
    end
   
     if not header_row then
     if not header_row then
         return nil, error_output("Headers Missing", page_title)
         return nil, error_output("Headers Missing", page_title)
Рядок 36: Рядок 43:
      
      
     local headers = {}
     local headers = {}
     -- Видаляємо початковий пробіл та розділяємо по ||
     -- Розділяємо по ! або !!
    header_row = mw.text.trim(header_row)
     for header in mw.ustring.gmatch(header_row, "!+%s*([^!]+)") do
     for header in mw.ustring.gmatch(header_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)
         end
         end
    end
   
    if #headers == 0 then
        return nil, error_output("No Headers Found", page_title)
     end
     end