Documentation[voir] [modifier] [historique] [purger]

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: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 Discussion module:section article/analyse/test).

La définition des sections standardisées et des alias autorisés est écrite dans Module:section article/data. Les sections autorisées sont affichés grâce aux fonctions de Module:section article/analyse.


b = require('Module:bases')

-- Charge la table une fois pour toutes pour ce module
local titres = mw.loadData('Module: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

-- Fonction de récupération de la catégorie d'un titre
function p.get_infobulle(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 infobulle
    if mot_type ~= nil and mot_type['infobulle'] ~= nil then
        return mot_type['infobulle']
    else
        return nil
    end
end

return p