La documentation pour ce module peut être créée à Module:types de mots/analyse/Documentation
local b = require("Module:bases")
local t = require("Module:types de mots")
local p = {}
function _get_alias(ali, code)
aliases = {code}
for code, valeur in pairs(ali) do
if (aliases == nil) then aliases={} end
table.insert(aliases, code)
end
return aliases
end
function p.sort_types(tab1, tab2)
if tab1 < tab2 then
return true
else
return false
end
end
-- Fonction qui affiche tous les types de mot pris en compte
function p.affiche_types(frame)
-- Récupère les clés
local keyset={}
local n=0
for k,v in pairs(t.types) do
n=n+1
keyset=k
end
local tableaut = {"Cette liste est générée automatiquement à partir de ].\r\n\r\nIl y a actuellement " .. n .. " types de mots dans cette liste.\r\n\r\n'''Ce sont les noms au singulier qui doivent être utilisés dans le modèle ]'''.\r\n"}
-- Construit un tableau pour afficher les types
titres = {'Code (ancre/abréviation)', 'Nom singulier', 'Nom pluriel', 'Locution singulier', 'Locution pluriel', 'Alias possibles'}
table.insert(tableaut, b.tableau_entete(titres))
-- Table inversée des alias
aliases = _get_alias(t.types)
-- Intro
-- Tri par nom de langue
table.sort(keyset, p.sort_types)
for k, code in ipairs(keyset) do
local tab = t.types
local alias = aliases and aliases or {}
table.insert(alias, 1, "'''" .. code .. "'''")
local texte_alias = table.concat(alias, '<br />')
local valeurs = {tab or '-', tab or '-', b.fait_categorie(b.ucfirst(tab), tab, true) or '-', tab or '-', b.fait_categorie(b.ucfirst(tab), tab, true) or '-', texte_alias}
table.insert(tableaut, b.tableau_ligne(valeurs))
end
table.insert(tableaut, b.tableau_fin())
return table.concat(tableaut, "\r\n")
end
function p.affiche_code_remplacement_python()
local resultat = {}
local nombre = 0
for a,b in pairs(t.types) do nombre = nombre+1 end
table.insert(resultat, '<pre>')
-- Table inversée des alias
aliases = _get_alias(t.types)
for code, t in pairs(t.types) do
local alias = aliases and aliases or {}
if #alias > 0 then
local texte_alias = table.concat(alias, '|')
local replacements = '(u"\\{\\{S\\|(' .. texte_alias .. ')\\|", u"{{S|' .. code .. '|"),';
table.insert(resultat, replacements)
end
end
table.insert(resultat, '</pre>')
return table.concat(resultat, "\r\n")
end
return p