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

нема опису редагування
Немає опису редагування
Немає опису редагування
Мітка: Скасовано
Рядок 21: Рядок 21:
     page_cache[page_name] = content
     page_cache[page_name] = content
     return content
     return content
end
-- ================================================
-- ПІДРАХУНОК НАГОРОД
-- ================================================
local function count_awards(content, section_start)
    -- Знаходимо таблицю після секції "Нагороди"
    local table_start = mw.ustring.find(content, "{|", section_start)
    if not table_start then return 0 end
   
    local table_end = mw.ustring.find(content, "|}", table_start)
    if not table_end then return 0 end
   
    local table_content = mw.ustring.sub(content, table_start, table_end)
   
    -- Рахуємо кількість рядків |- (мінус 1 для заголовка)
    local count = 0
    for _ in mw.ustring.gmatch(table_content, "|-") do
        count = count + 1
    end
   
    -- Перший |- це заголовок таблиці
    return math.max(0, count - 1)
end
end


Рядок 36: Рядок 60:
      
      
     local sections = {}
     local sections = {}
    local current_pos = 1
      
      
     for line in mw.ustring.gmatch(content, "[^\n]+") do
     for line in mw.ustring.gmatch(content, "[^\n]+") do
Рядок 46: Рядок 71:
                 local processed = frame:preprocess(section_name)
                 local processed = frame:preprocess(section_name)
                 processed = mw.text.trim(processed)
                 processed = mw.text.trim(processed)
               
                -- Перевіряємо чи це секція "Нагороди"
                if mw.ustring.match(section_name, "Нагороди") then
                    local section_pos = mw.ustring.find(content, line, 1, true)
                    if section_pos then
                        local awards_count = count_awards(content, section_pos)
                        if awards_count > 0 then
                            processed = processed .. " (" .. awards_count .. ")"
                        end
                    end
                end
                  
                  
                 -- Anchor
                 -- Anchor