Module:Procédure
La documentation pour ce module peut être créée à Module:Procédure/doc
local Procedure = {}
local p = {}
function Procedure:new(title, script, description, level, sous_procedures, arguments)
self.__index = self
self.title = title
self.script = script
self.description = description
if level ~= nil then
self.level = level
else
self.level = 3
end
if sous_procedure ~= nil then
self.sous_procedures = sous_procedures
else
self.sous_procedures = {}
end
end
function Procedure:build_sous_procedures()
local root = mw.html.create()
for _, sous_procedure in ipairs(self.sous_procedures) do
root:wikitext(sous_procedure:build())
end
end
function Procedure:build()
local root = mw.html.create()
root:wikitext(string.rep("=", self.level) .. title .. string.rep("=", self.level))
if self.script ~= nil then
root:wikitext(self.script:build(self.arguments))
end
if self.description ~= nil then
root:wikitext(self.description)
end
root:wikitext(self:build_sous_procedures())
return tostring(root)
end
function p:main(frame)
local procedure = Procedure:new(frame.args[1], frame.args[2], frame.args[3], frame.args[4], frame.args[5], frame.args[6])
return procedure:build()
end
return p