Module:Vérification
Ce module contient des fonctions chargées de vérifier que certaines actions ont bien été accomplies par les contributeurs et qui catégorisent automatiquement les pages dont une action est à compléter. Pour plus de détail sur l’utilisation de ces fonctions voir la page Aide:Maintenance à l'aide du Lua
La fonction p.lesson effectue un certain nombre de vérifications sur les pages contenant le Modèle:Leçon et catégorise automatiquement les leçons contenant des imperfections.
La fonction p.lessondl effectue un certain nombre de vérifications sur les pages contenant le Modèle:Leçon du jour et catégorise automatiquement les leçons du jour contenant des imperfections.
La fonction p.travrecherche effectue un certain nombre de vérifications sur les pages contenant le Modèle:Travail de recherche et catégorise automatiquement les Travaux de recherche ou recherches contenant des imperfections.
local p = {}
local categorie = ""
require("Module:Réserve")
function maj(phrase)
local debut = mw.ustring.sub(phrase,1,1) --Extrait la première lettre de la phrase
local fin = mw.ustring.sub(phrase,2) --Extrait la fin de la phrase (sans la première lettre)
return mw.ustring.upper(debut)..mw.ustring.lower(fin) -- Reconstruit la phrase en mettant la première lettre en majuscule et le reste en minuscule
end
function p.lesson(frame)
local model = frame:getParent()
local title = mw.title.getCurrentTitle()
local titre = title.text
if model.args["département"] then
local page = "Département:"..model.args["département"].."/Leçons par thèmes"
local texte_th = lit(page)
if texte_th then
local trouve = mw.ustring.find(texte_th,titre,1,true)
if trouve == nil then
categorie = categorie.."[[Catégorie:Leçons non déclarées dans sous page par thème du département]] "
end
else -- La sous-page Leçons par thèmes n'a pas été créé
categorie = categorie.."[[Catégorie:Leçons sans sous page par thème du département]] "
end
page = "Département:"..model.args["département"].."/Leçons par niveaux"
local texte_nv = lit(page)
if texte_nv then
local trouve = mw.ustring.find(texte_nv,titre,1,true)
if trouve == nil then
categorie = categorie.."[[Catégorie:Leçons non déclarées dans sous page par niveaux du département]] "
end
else -- La sous-page Leçons par niveaux n'a pas été créé
categorie = categorie.."[[Catégorie:Leçons sans sous page par niveaux du département]] "
end
end
if model.args["w"] then
local texte_w = lit("w:fr:"..model.args["w"])
if texte_w then
local rep = mw.ustring.find(texte_w,"wikiversity",1,true)
if rep == nil then
categorie = categorie.."[[Catégorie:Leçons avec interwiki sans retour vers Wikipédia]] "
end
end
end
local titledis = title.talkPageTitle
local rep
if titledis.exists then
local textedis = lit(titledis.prefixedText)
rep = mw.ustring.find(textedis,"Évaluation")
end
if rep == nil then
categorie = categorie.."[[Catégorie:Leçons sans évaluation]] "
end
if model.args["idfaculté"] then -- Vérification en rapport avec la page classant toutes les leçon par niveau d'une faculté
page = "Leçons de "..model.args["idfaculté"].." par niveau/Leçons par niveaux" -- Si le nom de la faculté commence par une consonne
local texte_nv = lit(page)
if texte_nv then
local trouve = mw.ustring.find(texte_nv,titre,1,true) -- cherche la leçon dans la page
if trouve == nil then -- n'a pas trouvé la leçon
categorie = categorie.."[[Catégorie:Leçons absente de la page leçons par niveaux de la faculté]] "
end
else -- peut-être que le nom de la faculté commence par une voyelle
page = "Leçons d'"..model.args["idfaculté"].." par niveau/Leçons par niveaux" -- Si le nom de la faculté commence par une voyelle
local texte_nv = lit(page)
if texte_nv then
local trouve = mw.ustring.find(texte_nv,titre,1,true) -- cherche la leçon dans la nouvelle page
if trouve == nil then -- n'a toujours pas trouvé la leçon
categorie = categorie.."[[Catégorie:Leçons absente de la page leçons par niveaux de la faculté]] "
end
else -- La sous-page Leçons par niveaux n'a pas été créé
categorie = categorie.."[[Catégorie:Leçons sans page par niveaux de la faculté]] "
end
end
end
return categorie
end
function p.lessondj(frame)
local model = frame:getParent()
local title = mw.title.getCurrentTitle()
local titre = title.text
if model.args["département"] then
local page = "Département:"..model.args["département"].."/Leçons par thèmes"
local texte_th = lit(page)
if texte_th then
local trouve = mw.ustring.find(texte_th,titre,1,true)
if trouve == nil then
categorie = categorie.."[[Catégorie:Leçons non déclarées dans sous page par thème du département]] "
end
else -- La sous-page Leçons par thèmes n'a pas été créé
categorie = categorie.."[[Catégorie:Leçons sans sous page par thème du département]] "
end
page = "Département:"..model.args["département"].."/Leçons par niveaux"
local texte_nv = lit(page)
if texte_nv then
local trouve = mw.ustring.find(texte_nv,titre,1,true)
if trouve == nil then
categorie = categorie.."[[Catégorie:Leçons non déclarées dans sous page par niveaux du département]] "
end
else -- La sous-page Leçons par niveaux n'a pas été créé
categorie = categorie.."[[Catégorie:Leçons sans sous page par niveaux du département]] "
end
end
if model.args["w"] then
local texte_w = lit("w:fr:"..model.args["w"])
if texte_w then
local rep = mw.ustring.find(texte_w,"wikiversity",1,true)
if rep == nil then
categorie = categorie.."[[Catégorie:Leçons avec interwiki sans retour vers Wikipédia]] "
end
end
end
local titledis = title.talkPageTitle
local rep
if titledis.exists then
local textedis = lit(titledis.prefixedText)
rep = mw.ustring.find(textedis,"Évaluation")
end
if rep == nil then
categorie = categorie.."[[Catégorie:Leçons sans évaluation]] "
end
if model.args["idfaculté"] then -- Vérification en rapport avec la page classant toutes les leçon par niveau d'une faculté
page = "Leçons de "..model.args["idfaculté"].." par niveau/Leçons par niveaux" -- Si le nom de la faculté commence par une consonne
local texte_nv = lit(page)
if texte_nv then
local trouve = mw.ustring.find(texte_nv,titre,1,true) -- cherche la leçon dans la page
if trouve == nil then -- n'a pas trouvé la leçon
categorie = categorie.."[[Catégorie:Leçons absente de la page leçons par niveaux de la faculté]] "
end
else -- peut-être que le nom de la faculté commence par une voyelle
page = "Leçons d'"..model.args["idfaculté"].." par niveau/Leçons par niveaux" -- Si le nom de la faculté commence par une voyelle
local texte_nv = lit(page)
if texte_nv then
local trouve = mw.ustring.find(texte_nv,titre,1,true) -- cherche la leçon dans la nouvelle page
if trouve == nil then -- n'a toujours pas trouvé la leçon
categorie = categorie.."[[Catégorie:Leçons absente de la page leçons par niveaux de la faculté]] "
end
else -- La sous-page Leçons par niveaux n'a pas été créé
categorie = categorie.."[[Catégorie:Leçons sans page par niveaux de la faculté]] "
end
end
end
return categorie
end
function p.travrecherche(frame)
local page,texte = "",""
local model = frame:getParent()
local title = mw.title.getCurrentTitle()
local titre = title.text
if model.args["parent"] and model.args["parent"] ~= "" then
page = model.args["parent"]
page = decrochette(page)
page = page.."/Contenu"
texte = lit(page)
if texte then
local trouve = mw.ustring.find(texte,titre,1,true) -- cherche la recherche dans la page
if trouve == nil then -- n'a pas trouvé la recherche
categorie = categorie.."[[Catégorie:Recherches absente du département recherche de la faculté]] "
end
else -- La sous-page contenant les recherches n'a pas été créé
categorie = categorie.."[[Catégorie:Recherche avec paramètre parent à vérifier]] "
if model.args["idfaculté"] then
page = "Recherche:Département:"..maj(model.args["idfaculté"]).."/Contenu" -- nom de la page contenant la recherche
texte = lit(page)
if texte then
local trouve = mw.ustring.find(texte,titre,1,true) -- cherche la recherche dans la page
if trouve == nil then -- n'a pas trouvé la recherche
categorie = categorie.."[[Catégorie:Recherches absente du département recherche de la faculté]] "
end
else -- La sous-page contenant les recherches n'a pas été créé
categorie = categorie.."[[Catégorie:Recherche sans département recherche standard de la faculté]] "
end
else
categorie = categorie.."[[Catégorie:Recherche sans idfaculté]] "
end
end
elseif model.args["idfaculté"] then
page = "Recherche:Département:"..maj(model.args["idfaculté"]).."/Contenu" -- nom de la page contenant la recherche
texte = lit(page)
if texte then
local trouve = mw.ustring.find(texte,titre,1,true) -- cherche la recherche dans la page
if trouve == nil then -- n'a pas trouvé la recherche
categorie = categorie.."[[Catégorie:Recherches absente du département recherche de la faculté]] "
end
else -- La sous-page contenant les recherches n'a pas été créé
categorie = categorie.."[[Catégorie:Recherche sans département recherche de la faculté]] "
end
else
categorie = categorie.."[[Catégorie:Recherche sans parent ni idfaculté]] "
end
return categorie
end
return p