diff options
Diffstat (limited to 'ipalib/parameters.py')
-rw-r--r-- | ipalib/parameters.py | 14 |
1 files changed, 10 insertions, 4 deletions
diff --git a/ipalib/parameters.py b/ipalib/parameters.py index 287304d3b..22144b7cb 100644 --- a/ipalib/parameters.py +++ b/ipalib/parameters.py @@ -711,11 +711,17 @@ class Param(ReadOnly): :param value: A proposed value for this parameter. """ if self.multivalue: - if self.csv and isinstance(value, basestring): - csvreader = self.__unicode_csv_reader([unicode(value)]) - value = tuple(csvreader.next()) #pylint: disable=E1101 - elif type(value) not in (tuple, list): + if type(value) not in (tuple, list): value = (value,) + if self.csv: + newval = () + for v in value: + if isinstance(v, basestring): + csvreader = self.__unicode_csv_reader([unicode(v)]) + newval += tuple(csvreader.next()) #pylint: disable=E1101 + else: + newval += (v,) + value = newval if self.normalizer is None: return value if self.multivalue: |