« Module:RemovePrefix » : différence entre les versions

De wikiviefr
Aucun résumé des modifications
Aucun résumé des modifications
 
(Une version intermédiaire par le même utilisateur non affichée)
Ligne 1 : Ligne 1 :
local p = {}
local p = {}


function p.listPages(frame)
function p.removePrefix(frame)
     local category = frame.args.category or ""
     local args = frame.args
     local prefix = frame.args.prefix or ""
     local category = args.category
     local categoryObj = mw.site.categories[category]
     local prefix = args.prefix


     if not categoryObj then
 
         return "La catégorie n'existe pas ou est vide."
 
    mw.log("Catégorie reçue : " .. (category or "aucune"))
    mw.log("Préfixe reçu : " .. (prefix or "aucun"))
 
 
 
     if not category or category == "" then
         return "Erreur : aucune catégorie spécifiée."
    end
 
    if not prefix then
        prefix = "" -- Valeur par défaut si aucun préfixe n'est défini
    end
 
    -- Récupérer les pages de la catégorie
    local dpl = mw.ext.DynamicPageList
    local pages = dpl.getPagesInCategory(category)
 
    if not pages then
        return "Erreur : aucune page trouvée dans la catégorie."
     end
     end


     local result = "{| class='wikitable sortable'\n|+ Liste des pages sans préfixe\n! Nom de la page\n"
    -- Construire le tableau avec les préfixes retirés
     local result = "{| class='wikitable sortable'\n"
    result = result .. "! Nom de la page\n"


     for page in categoryObj:pages() do
     for _, page in ipairs(pages) do
         local title = page.title
         local title = mw.ustring.gsub(page.title, "^" .. mw.text.nowiki(prefix), "")
        if prefix ~= "" and title:sub(1, #prefix) == prefix then
            title = title:sub(#prefix + 1) -- Supprimer le préfixe
        end
         result = result .. "|-\n| [[" .. page.title .. "|" .. title .. "]]\n"
         result = result .. "|-\n| [[" .. page.title .. "|" .. title .. "]]\n"
     end
     end

Dernière version du 22 décembre 2024 à 14:03

La documentation pour ce module peut être créée à Module:RemovePrefix/doc

local p = {}

function p.removePrefix(frame)
    local args = frame.args
    local category = args.category
    local prefix = args.prefix



    mw.log("Catégorie reçue : " .. (category or "aucune"))
    mw.log("Préfixe reçu : " .. (prefix or "aucun"))



    if not category or category == "" then
        return "Erreur : aucune catégorie spécifiée."
    end

    if not prefix then
        prefix = "" -- Valeur par défaut si aucun préfixe n'est défini
    end

    -- Récupérer les pages de la catégorie
    local dpl = mw.ext.DynamicPageList
    local pages = dpl.getPagesInCategory(category)

    if not pages then
        return "Erreur : aucune page trouvée dans la catégorie."
    end

    -- Construire le tableau avec les préfixes retirés
    local result = "{| class='wikitable sortable'\n"
    result = result .. "! Nom de la page\n"

    for _, page in ipairs(pages) do
        local title = mw.ustring.gsub(page.title, "^" .. mw.text.nowiki(prefix), "")
        result = result .. "|-\n| [[" .. page.title .. "|" .. title .. "]]\n"
    end

    result = result .. "|}"
    return result
end

return p