Module:Réserve
Appearance
Documentation for this module may be created at Module:Réserve/doc
local p = {}
function decrochette(item)
local debut,fin = 1,mw.ustring.len(item)
while mw.ustring.sub(item,debut,debut) == " " do -- Pour supprimer les espaces avant le double crochet ouvrant
debut = debut+1
end
debut = debut+2
while mw.ustring.sub(item,debut,debut) == " " do -- Pour supprimer les espaces après le double crochet ouvrant
debut = debut + 1
end
while mw.ustring.sub(item,fin,fin) == " " do -- Pour suppimer les espaces après le double crochet fermant
fin = fin - 1
end
fin = fin-2
while mw.ustring.sub(item,fin,fin) == " " do -- Pour suppimer les espace avant le double crochet fermant
fin = fin - 1
end
item = mw.ustring.sub(item,debut,fin) -- Suppression des doubles crochets et des espaces superflus
fin = mw.ustring.find(item,"|") -- Y a t'il modification du titre de la page
if fin then
item = mw.ustring.sub(item,1,fin-1) -- si oui, suppression de la modification
end
return item
end
function nettoie(item)
local debut,fin = 1,mw.ustring.len(item)
while mw.ustring.sub(item,debut,debut) == " " do -- Pour supprimer les espaces au début
debut = debut+1
end
while mw.ustring.sub(item,fin,fin) == " " do -- Pour suppimer les espaces à la fin
fin = fin - 1
end
return mw.ustring.sub(item,debut,fin) -- c’est propre !
end
function lit(page)
local title = mw.title.new(page)
local texte
if title ~= nil then
texte = title.getContent(title)
end
return texte
end
function model(page,mod,item)
local texte = lit(page)
local repere = 1
local taille = 1
if texte ~= nil then
repere = mw.ustring.find(texte,mod) -- Recherche la position du modèle
if tonumber(item) then
repere = mw.ustring.find(texte,"| "..item,repere) -- Dans le modèle recherche l’article indexé par un nombre
if repere then repere = repere+2 end
else
repere = mw.ustring.find(texte,item,repere) -- Dans le modèle recherche l'article
end
if repere then
taille = mw.ustring.find(texte,'\
',repere) -- Puis recherche le premier retour chariot qui suit
texte = mw.ustring.sub(texte,repere,taille-1) -- L'article est isolé
taille = taille - repere -- Calcul de la taille de l'article
repere = mw.ustring.find(texte,"=") -- Repère le =
repere = repere+1 -- Et regarde ce qu’il y a après
while mw.ustring.sub(texte,repere,repere) == " " do -- Cherche le début du paramètre
repere = repere+1
end
while mw.ustring.sub(texte,taille,taille) == " " do -- Pour supprimer les éventuel espace en fin de ligne
taille = taille-1
end
texte = mw.ustring.sub(texte,repere,taille) -- isole le paramètre
else
texte = repere
end
end
return texte
end
function maj(phrase)
local debut = string.sub(phrase,1,1) --Extrait la première lettre de la phrase
local fin = string.sub(phrase,2) --Extrait la fin de la phrase (sans la première lettre)
return string.upper(debut)..string.lower(fin) -- Reconstruit la phrase en mettant la première lettre en majuscule et le reste en minuscule
end
function p.test(frame)
local reponse = ""
tableau = model(frame.args[1],frame.args[2],frame.args[3])
return tableau
end
return p