« Module:RemovePrefix » : différence entre les versions
Aucun résumé des modifications |
Aucun résumé des modifications |
||
| Ligne 1 : | Ligne 1 : | ||
local p = {} | local p = {} | ||
function p. | -- Fonction principale appelée par #invoke | ||
local | function p.removePrefix(frame) | ||
local prefix = | local args = frame:getParent().args | ||
local category = args.category or "" | |||
local prefix = args.prefix or "" | |||
if | -- Vérifier si la catégorie existe | ||
return " | if category == "" then | ||
return "Erreur : aucune catégorie spécifiée." | |||
end | end | ||
local | -- Récupère les pages de la catégorie via Scribunto | ||
local success, pages = pcall(mw.site.getAllPagesInCategory, mw.site, category) | |||
if not success then | |||
return "Erreur : impossible de récupérer les pages de la catégorie." | |||
end | |||
for page in | -- Préparer la liste des pages sans le préfixe | ||
local results = {} | |||
for _, page in ipairs(pages) do | |||
local title = page.title | local title = page.title | ||
if | if title:find("^" .. prefix) then | ||
title = title: | title = title:gsub("^" .. prefix, "") | ||
end | end | ||
table.insert(results, "* [[" .. page.fullText .. "|" .. title .. "]]") | |||
end | end | ||
-- Retourne la liste formatée | |||
return table.concat(results, "\n") | |||
end | end | ||
return p | return p | ||
Version du 22 décembre 2024 à 13:43
La documentation pour ce module peut être créée à Module:RemovePrefix/doc
local p = {}
-- Fonction principale appelée par #invoke
function p.removePrefix(frame)
local args = frame:getParent().args
local category = args.category or ""
local prefix = args.prefix or ""
-- Vérifier si la catégorie existe
if category == "" then
return "Erreur : aucune catégorie spécifiée."
end
-- Récupère les pages de la catégorie via Scribunto
local success, pages = pcall(mw.site.getAllPagesInCategory, mw.site, category)
if not success then
return "Erreur : impossible de récupérer les pages de la catégorie."
end
-- Préparer la liste des pages sans le préfixe
local results = {}
for _, page in ipairs(pages) do
local title = page.title
if title:find("^" .. prefix) then
title = title:gsub("^" .. prefix, "")
end
table.insert(results, "* [[" .. page.fullText .. "|" .. title .. "]]")
end
-- Retourne la liste formatée
return table.concat(results, "\n")
end
return p