returnu_err(err,'Valeur incorrecte','Les seules valeurs autorisées pour cette colonne sont : {}'.format(html_str))
defmaximum_constraint(err,headers,schema):
""" maximum-constraint """
max_value=err['message-data']['constraint']
returnu_err(err,'Valeur trop grande','La valeur attendue doit être inférieure à {}'.format(max_value))
defmaximum_length_constraint(err,headers,schema):
""" maximum-length-constraint """
max_value=err['message-data']['constraint']
text_value_len=len(err['message-data']['value'])
returnu_err(err,'Valeur trop longue','La valeur texte attendue ne doit pas comporter plus de {} caractère(s) (au lieu de {} actuellement)'.format(max_value,text_value_len))
defminimum_constraint(err,headers,schema):
""" minimum-constraint """
min_value=err['message-data']['constraint']
returnu_err(err,'Valeur trop petite','La valeur attendue doit être au moins égale à {}'.format(min_value))
defminimum_length_constraint(err,headers,schema):
""" minimum-length-constraint """
min_value=err['message-data']['constraint']
text_value_len=len(err['message-data']['value'])
returnu_err(err,'Valeur trop courte','Le texte attendu doit comporter au moins {} caractère(s) (au lieu de {} actuellement)'.format(min_value,text_value_len))
returnu_err(err,'Format de date incorrect',"La forme attendue est \"{}\"".format(iso_date))
# Checks if date is yyyy-mm-ddThh:MM:ss
# print('DATE TIME ? [{}]'.format(err_value))
dm=DATETIME_RE.match(err_value)
ifdm:
iso_date=err_value[:err_value.find('T')]
returnu_err(err,'Format de date incorrect',"La forme attendue est \"{}\"".format(iso_date))
# Default date err msg
returnu_err(err,'Format de date incorrect','La date doit être écrite sous la forme aaaa-mm-jj.')
# Year
eliferr_type=='year':
returnu_err(err,'Format d\'année incorrect','L\'année doit être composée de 4 chiffres')
# Number
eliferr_type=='number':
if','inerr_value:
en_number=err_value.replace(',','.')
returnu_err(err,'Format de nombre incorrect',"Utilisez le point comme séparateur décimal (« {} »).".format(en_number))
returnu_err(err,'Format de nombre incorrect','La valeur ne doit comporter que des chiffres et le point comme séparateur décimal.')
# Number
eliferr_type=='integer':
returnu_err(err,'Format entier incorrect','La valeur doit être un nombre entier.')
# String
eliferr_type=='string':
returnu_err(err,'Format de chaîne incorrect','La valeur doit être une chaîne de caractères.')
# Boolean
eliferr_type=='boolean':
column_number=err['column-number']
field=schema['fields'][column_number]
true_values=field.get('trueValues',['true'])
false_values=field.get('falseValues',['false'])
returnu_err(err,"Valeur booléenne incorrecte","Les valeurs acceptées sont {} pour 'vrai' et {} pour 'faux'".format(et_join(false_values),et_join(true_values)))
# Default msg
returnu_err(err,'Type ou format incorrect','La valeur de la cellule n\'est pas de type {}'.format(err_type))
defunique_constraint(err,headers,schema):
""" unique-constraint """
msg_prefix='Cette valeur est déjà présente '
row_numbers=err['message-data']['row_numbers']
ifnot','inrow_numbers:
msg=msg_prefix+"à la ligne {}.".format(row_numbers)