Jump to content

Module:Wt/ary/section article

From Wikimedia Incubator
Ce module renvoie le nom standardisé des sections d’articles autre que les sections de langue et et les sections de mots. Il utilisé essentiellement par Module:Wt/ary/section.

Ce module contient trois fonctions exportables avec un seul paramètre : un nom de section.

is_titre(titre_de_section)
Renvoie true/false selon que la section est définie dans la liste Module:section article/data.
get_nom_section(titre_de_section)
Renvoie le titre de section standardisé.
get_class(titre_de_section)
Renvoie la classe d'un titre de section (section de type de mot ou section supérieure ? Voir la liste Talk module:Wt/ary/section article/analyse/test).

La définition des sections standardisées et des alias autorisés est écrite dans Module:Wt/ary/section article/data.

Les sections autorisées sont affichés grâce aux fonctions de Module:Wt/ary/section article/analyse.

info Documentation du Module:Wt/ary/section article : v · d · m · h.

Catégorie:Wt/ary/Modules Lua documentés


b = require('Module:Wt/ary/bases')

-- Charge la table une fois pour toutes pour ce module
local titres = mw.loadData('Module:Wt/ary/section article/data')

local p = {}

-- Récupère un objet pour le type de section demandé
function _get_type(mot)
    if mot == nil then return nil end
    
    -- Pour chercher dans les listes, on autorise éventuellement les majuscules en début de mot
    mot = b.lcfirst(mot)
	
    -- Alias?
    if p.is_alias(mot) then
        mot = titres['alias'][mot]
    end
    
    -- Titre défini?
    if titres['texte'][mot] ~= nil then
        return titres['texte'][mot]
    else
    	return nil
    end
end

-- S'agit-il d'un alias?
function p.is_alias(mot)
    if mot == nil then return nil end
    
    mot = b.lcfirst(mot)
    
    if titres['alias'][mot] then
        return true
    else
        return false
    end
end

-- S'agit-il d'un titre de section reconnu (ou d'un alias) ?
function p.is_titre(mot)
    if mot == nil then return nil end
    
    -- Récupération de l'objet correspondant à ce type de mot, s'il existe
    local mot_type = _get_type(mot)
    
    -- L'objet existe, donc c'est bien une section autorisée
    if mot_type ~= nil then
        return true
    else
        return false
    end
end

-- Fonction de récupération du nom standard à partir de son code et de ses propriétés
function p.get_nom_section(mot)
    if mot == nil then return nil end
    
    -- Récupération de l'objet correspondant à ce type de mot, s'il existe
    local mot_type = _get_type(mot)
    
    -- L'objet existe, on peut renvoyer son nom
    if (mot_type ~= nil) then
        return mot_type['nom']
    else
        return nil
    end
end

-- Fonction de récupération de la classe d'un titre
function p.get_class(mot)
    if mot == nil then return nil end
    
    -- Récupération de l'objet correspondant à ce type de mot, s'il existe
    local mot_type = _get_type(mot)
    
    -- L'objet existe, on peut renvoyer sa classe
    if mot_type ~= nil then
        return mot_type['class']
    else
        return nil
    end
end

-- Fonction de récupération de la catégorie d'un titre
function p.get_category(mot)
    if mot == nil then return nil end

    -- Récupération de l'objet correspondant à ce type de mot, s'il existe
    local mot_type = _get_type(mot)

    -- L'objet existe, on peut renvoyer sa catégorie
    if mot_type ~= nil then
        return mot_type['category']
    else
        return nil
    end
end

return p