diff options
Diffstat (limited to 'ipalib/parameters.py')
-rw-r--r-- | ipalib/parameters.py | 13 |
1 files changed, 10 insertions, 3 deletions
diff --git a/ipalib/parameters.py b/ipalib/parameters.py index 502f173c9..2e26923dd 100644 --- a/ipalib/parameters.py +++ b/ipalib/parameters.py @@ -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. |