Module:GenerateID: Difference between revisions
From TANGOWIKI-TITAF
Created page with "-- Module:GenerateID -- This module generates the next available TITAF-P-xxxxxxx ID for Person pages local p = {} local idPrefix = "TITAF-P-" local digits = 7 function p.getNextId() local allPages = mw.smw.ask { "Category:TangoPeople", "?=page", "limit=5000" } local maxId = 0 if allPages then for _, result in ipairs(allPages) do local title = result["page"] or "" local idNum = title:match("TIT..." |
No edit summary |
||
| Line 6: | Line 6: | ||
local digits = 7 | local digits = 7 | ||
function p. | function p.personID() | ||
local allPages = mw.smw.ask { | local allPages = mw.smw.ask { | ||
"[[Category:TangoPeople]]", | "[[Category:TangoPeople]]", | ||
Revision as of 13:17, 10 April 2025
Documentation for this module may be created at Module:GenerateID/doc
-- Module:GenerateID
-- This module generates the next available TITAF-P-xxxxxxx ID for Person pages
local p = {}
local idPrefix = "TITAF-P-"
local digits = 7
function p.personID()
local allPages = mw.smw.ask {
"[[Category:TangoPeople]]",
"?=page",
"limit=5000"
}
local maxId = 0
if allPages then
for _, result in ipairs(allPages) do
local title = result["page"] or ""
local idNum = title:match("TITAF%-P%-(%d+)")
if idNum then
local num = tonumber(idNum)
if num and num > maxId then
maxId = num
end
end
end
end
local newId = maxId + 1
return idPrefix .. string.format("%0" .. digits .. "d", newId)
end
return p