Module:Lire

Une page de Wikiversité.
Sauter à la navigation Sauter à la recherche

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


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