Module:Id increment: Difference between revisions

From Visual Data Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 4: Line 4:
     local maxNumber = 0
     local maxNumber = 0


    -- Iteriere durch alle Seiten im Namensraum 0
     local allPages = mw.site.stats.pages{namespace = 0}
     local currentTitle = mw.title.getCurrentTitle()
    local iterator = currentTitle and currentTitle.rootTitle and currentTitle.rootTitle:subpages()


     if iterator then
     for _, page in ipairs(allPages) do
         for pageTitle in iterator do
         local pageTitle = page.title.text
            local _, _, number = string.find(pageTitle.text, "Projects/(%d+)")
        local _, _, number = string.find(pageTitle, "Projekt/(%d+)")


            if number then
        if number then
                local currentNumber = tonumber(number)
            local currentNumber = tonumber(number)
                if currentNumber and currentNumber > maxNumber then
            if currentNumber and currentNumber > maxNumber then
                    maxNumber = currentNumber
                maxNumber = currentNumber
                end
             end
             end
         end
         end

Revision as of 09:41, 12 March 2024

Documentation for this module may be created at Module:Id increment/doc

local p = {}

function p.findMaxProjectNumber()
    local maxNumber = 0

    local allPages = mw.site.stats.pages{namespace = 0}

    for _, page in ipairs(allPages) do
        local pageTitle = page.title.text
        local _, _, number = string.find(pageTitle, "Projekt/(%d+)")

        if number then
            local currentNumber = tonumber(number)
            if currentNumber and currentNumber > maxNumber then
                maxNumber = currentNumber
            end
        end
    end

    return maxNumber + 1
end

return p