Module:Lire
Ce module répertorie les fonctions capables de lire un renseignement dans une page.
La fonction p.avancement retourne l'avancement d'une leçon donnée en paramètre.
Par exemple : Pour la leçon : Fonction logarithme, on obtient :
{{#invoke:Lire|avancement|[[Fonction logarithme]]}} nous retourne : 4
La fonction p.avancement est principalement destinée à être utilisé dans le Modèle:L pour que celui-ci affiche automatiquement l'avancement et qu'ainsi, on ne soit plus obligé de parcourir manuellement la Wikiversité pour mettre les avancements à jour dans les départements.
local p = {}
require("Module:Réserve")
function p.avancement(frame)
local av,rep,fin = 9,1,1
local texte = ""
local page = decrochette(frame.args[1]) -- Suppression des doubles crochets
page = "Discussion:"..page -- Sélection de la page de discussion de la leçon
texte = lit(page) -- Lecture de la page de discussion
if texte then
if mw.ustring.len(texte) < 40 then
av = 7 -- La page n'a pas suffisament de caractéres pour contenir l'avancement
else
rep = mw.ustring.find(texte,"Évaluation") -- Recherche de la position du modèle évaluation
if rep then
fin = mw.ustring.find(texte,'}}',rep) -- Recherche de la position de la fin du modèle évaluation
if fin then
texte = mw.ustring.sub(texte,rep,fin) -- Extraction du modèle évaluation
rep=fin-rep -- Calcul de la position ou est indiqué l'avancement
while mw.ustring.sub(texte,rep,rep) == " " do -- Pour supprimer d'éventuels espace avant les doubles accolades
rep = rep - 1
end
av = tonumber(mw.ustring.sub(texte,rep,rep)) -- Extraction de l'avancement
if av == nil then av = 8 end -- Si échec de l'extraction, l'indiquer en posant av = 8
else
av = 9
end
else
av = 7
end
end
end
return av
end
function p.idfac(frame)
return model(frame.args[1],"Leçon","idfaculté")
end
return p