Raise ValidationError on invalid CSV values.

https://fedorahosted.org/freeipa/ticket/3323
This commit is contained in:
Jan Cholasta
2013-01-08 16:32:41 +01:00
committed by Martin Kosek
parent cbb262dc07
commit 1d35043e46
2 changed files with 14 additions and 3 deletions

View File

@@ -694,9 +694,16 @@ class Param(ReadOnly):
delimiter=self.csv_separator, quotechar='"',
skipinitialspace=self.csv_skipspace,
**kwargs)
for row in csv_reader:
# decode UTF-8 back to Unicode, cell by cell:
yield [unicode(cell, 'utf-8') for cell in row]
try:
for row in csv_reader:
# decode UTF-8 back to Unicode, cell by cell:
yield [unicode(cell, 'utf-8') for cell in row]
except csv.Error, e:
raise ValidationError(
name=self.get_param_name(),
value=unicode_csv_data,
error=_("Improperly formatted CSV value (%s)" % e)
)
def split_csv(self, value):
"""Split CSV strings into individual values.