Module:Id increment: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
(27 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
local p = {} | |||
function findMaxProjectNumber() | |||
function p.findMaxProjectNumber() | |||
local maxNumber = 0 | local maxNumber = 0 | ||
-- | -- API-Anfrage, um alle Seiten im Namensraum 0 zu erhalten | ||
local apiUrl = mw.util.wikiScript('api') .. '?action=query&list=allpages&apnamespace=0&aplimit=max&format=json' | |||
local response = mw.api.get(apiUrl) | |||
-- Überprüfe die Antwort | |||
maxNumber = | if response and response.query and response.query.allpages then | ||
for _, page in ipairs(response.query.allpages) do | |||
local pageTitle = page.title | |||
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 | end | ||
end | end | ||
return maxNumber | return maxNumber + 1 | ||
end | end | ||
return p | |||
return |
Latest revision as of 10:06, 12 March 2024
Documentation for this module may be created at Module:Id increment/doc
local p = {}
function p.findMaxProjectNumber()
local maxNumber = 0
-- API-Anfrage, um alle Seiten im Namensraum 0 zu erhalten
local apiUrl = mw.util.wikiScript('api') .. '?action=query&list=allpages&apnamespace=0&aplimit=max&format=json'
local response = mw.api.get(apiUrl)
-- Überprüfe die Antwort
if response and response.query and response.query.allpages then
for _, page in ipairs(response.query.allpages) do
local pageTitle = page.title
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
end
return maxNumber + 1
end
return p