Module:Id increment: Difference between revisions

From Visual Data Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 5: Line 5:


     -- Iteriere durch alle Seiten im Namensraum 0
     -- Iteriere durch alle Seiten im Namensraum 0
     local allPages = mw.site.stats.pages{namespace = 0}
     local currentTitle = mw.title.getCurrentTitle()
    for _, page in ipairs(allPages) do
    local iterator = currentTitle and currentTitle.rootTitle and currentTitle.rootTitle:subpages()
        local pageTitle = page.title
        local _, _, number = string.find(pageTitle, "projects/(%d+)")


         if number then
    if iterator then
            local currentNumber = tonumber(number)
         for pageTitle in iterator do
            if currentNumber and currentNumber > maxNumber then
            local _, _, number = string.find(pageTitle.text, "Projekt/(%d+)")
                maxNumber = currentNumber
 
            if number then
                local currentNumber = tonumber(number)
                if currentNumber and currentNumber > maxNumber then
                    maxNumber = currentNumber
                end
             end
             end
         end
         end

Revision as of 09:38, 12 March 2024

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

local p = {}

function p.findMaxProjectNumber()
    local maxNumber = 0

    -- Iteriere durch alle Seiten im Namensraum 0
    local currentTitle = mw.title.getCurrentTitle()
    local iterator = currentTitle and currentTitle.rootTitle and currentTitle.rootTitle:subpages()

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

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

    return maxNumber + 1
end

return p