« Module:Infobox/Personnage » : différence entre les versions

aucun résumé des modifications
mAucun résumé des modifications
Aucun résumé des modifications
 
(2 versions intermédiaires par le même utilisateur non affichées)
Ligne 19 : Ligne 19 :
-- Détermination de l'âge du personnage en fonction des dates de naissance
-- Détermination de l'âge du personnage en fonction des dates de naissance
-- et de mort. Si le paramètre "âge" est renseigné, alors il fait foi.
-- et de mort. Si le paramètre "âge" est renseigné, alors il fait foi.
local age = localdata["âge"]
local calculated_age
if age == nil then
if localdata["âge"] == nil then
birth_year = get_year(localdata["naissance"])
local birth_year = get_year(localdata["naissance"])
death_year = get_year(localdata["mort"])
local death_year = get_year(localdata["mort"])
if birth_year ~= nil then
if birth_year ~= nil then
age = (death_year or REFERENCE_DATE) - birth_year
calculated_age = tostring((death_year or REFERENCE_DATE) - birth_year)
end
end
end
end
Ligne 31 : Ligne 31 :
-- l'âge si elle est connue et si le personnage n'est pas mort.
-- l'âge si elle est connue et si le personnage n'est pas mort.
format_birth = function(localdata)
format_birth = function(localdata)
birth = localdata["naissance"]
local birth = localdata["naissance"]
death = localdata["mort"]
local death = localdata["mort"]
if death == nil and age ~= nil then
local age = localdata["âge"]
return string.format("%s (%d ans)", birth, age)
if death == nil then
if age ~= nil then
return string.format("%s (%s)", birth, age)
elseif calculated_age ~= nil then
return string.format("%s (%s ans)", birth, calculated_age)
end
end
end
return birth
return birth
Ligne 42 : Ligne 47 :
-- l'âge si elle est connue et si le personnage est mort.
-- l'âge si elle est connue et si le personnage est mort.
format_death = function(localdata)
format_death = function(localdata)
death = localdata["mort"]
local death = localdata["mort"]
if death ~= nil and age ~= nil then
local age = localdata["âge"]
return string.format("%s (à %d ans)", birth, age)
if death ~= nil then
if age ~= nil then
return string.format("%s (%s)", death, age)
elseif calculated_age ~= nil then
return string.format("%s (à %s ans)", death, calculated_age)
end
end
end
return death
return death
Ligne 57 : Ligne 67 :
             title = "Biographie",
             title = "Biographie",
             rows = {
             rows = {
                {type = "row", label = "Type", value = "type"},
                 {type = "row", label = "Naissance", value = format_birth},
                 {type = "row", label = "Naissance", value = format_birth},
                 {type = "row", label = "Mort", value = format_death},
                 {type = "row", label = "Mort", value = format_death},