« Module:Auteur2 » : différence entre les versions

Contenu supprimé Contenu ajouté
usage des dates plus restrictif en cas de précision inférieure à l'année
n'affiche pas d'erreur si Wikidata contiens plusieurs dates avec la même année
Ligne 114 :
 
function getDateFromTimeStatements(statements, field)
if #statements == 0 then
return struct{
precision = 0
}
end
 
local time = nil
for _, statement in pairs(statements) do
local newTime = getDateFromTimeStatement(statement, field)
if time == nil then
time = newTime
elseif time.year ~= newTime.year then --années contradictoires
return struct{
text = errorMessage('Plusieurs années de ' .. field .. ' possibles sur Wikidata. Une manière simple de résoudre se problème est de mettre la date à afficher au rang "préféré".'),
precision = 0
}
end
end
 
if #statementstime >== 1nil then
return {
precision = 0
}
end
 
return time
end
 
function getDateFromTimeStatement(statement, field)
local struct = {
year = nil,
Ligne 120 ⟶ 149 :
precision = 0
}
local snak = statements[1]statement.mainsnak
 
if #statements == 0 then
return struct
end
if #statements > 1 then
struct.text = errorMessage('Plusieurs dates de ' .. field .. ' possibles sur Wikidata')
return struct
end
 
local snak = statements[1].mainsnak
if snak.snaktype ~= 'value' then
struct.text = errorMessage('La date de ' .. field .. ' n’est pas une valeur sur Wikidata')