Commit ccaa6861 authored by Pierre Dittgen's avatar Pierre Dittgen

Better error messages

parent 37164fe5
......@@ -98,14 +98,13 @@ def pattern_constraint(err, headers, schema):
""" pattern-constraint """
column_number = err['column-number']
field = schema['fields'][column_number - 1]
col_name = field['name']
addon_info_list = []
info_list = []
if 'description' in field:
addon_info_list.append('Pour rappel, la description de cette colonne est « {} »'.format(field['description']))
info_list.append('<dt>Description</dt>\n<dd>{}</dd>'.format(field['description']))
if 'example' in field:
addon_info_list.append('Exemple(s) de valeur correcte : {}'.format(field['example']))
addon_info = '<br/>' + '<br/>'.join(addon_info_list) if addon_info_list else ''
return u_err(err, 'Erreur de format', 'La valeur ne respecte pas le format attendu pour la colonne <strong>{}</strong>.{}'.format(col_name, addon_info))
info_list.append("<dt>Exemple(s) valide(s)</dt><dd>{}</dd>".format(field['example']))
msg = '\n'.join(info_list) if info_list else '<em>Aucune description ni exemple à afficher.</em>'
return u_err(err, 'Format incorrect', msg)
def required_constraint(err, headers, schema):
......@@ -114,8 +113,7 @@ def required_constraint(err, headers, schema):
col_nb = err['column-number']
if col_nb <= len(headers):
col_name = ' "{}"'.format(headers[col_nb - 1])
return u_err(err, 'Cellule vide', 'Le contenu de la colonne{} est obligatoire\n'.format(col_name)
+ 'Merci d\'indiquer une valeur.')
return u_err(err, 'Cellule vide', 'Une valeur doit être renseignée.')
def type_or_format_error(err, headers, schema):
......@@ -145,8 +143,12 @@ def type_or_format_error(err, headers, schema):
elif err_type == 'number':
if ',' in err_value:
en_number = err_value.replace(',', '.')
return u_err(err, 'Format de nombre incorrect', "Merci d'utiliser le point comme séparateur décimal («&#160;{}&#160;»).".format(en_number))
return u_err(err, 'Format de nombre incorrect', 'Vérifiez que la cellule ne comporte que des chiffres et le point comme séparateur décimal.')
return u_err(err, 'Format de nombre incorrect', "Utilisez le point comme séparateur décimal («&#160;{}&#160;»).".format(en_number))
return u_err(err, 'Format de nombre incorrect', 'La valeur ne doit comporter que des chiffres et le point comme séparateur décimal.')
# Number
elif err_type == 'integer':
return u_err(err, 'Format entier incorrect', 'La valeur ne doit être un nombre entier.')
# Boolean
elif err_type == 'boolean':
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment