From 0b62700c8ca46cf41e2cd53ea9154ae558019a05 Mon Sep 17 00:00:00 2001 From: Petr Viktorin Date: Thu, 22 Mar 2012 04:27:48 -0400 Subject: Allow multi-line CSV parameters Feed individual lines of input into the CSV parser, and include all lines in the output. https://fedorahosted.org/freeipa/ticket/2402 --- ipalib/parameters.py | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) (limited to 'ipalib/parameters.py') diff --git a/ipalib/parameters.py b/ipalib/parameters.py index 5040234a9..60fb50236 100644 --- a/ipalib/parameters.py +++ b/ipalib/parameters.py @@ -715,14 +715,15 @@ class Param(ReadOnly): if self.csv: if type(value) not in (tuple, list): value = (value,) - newval = () + newval = [] for v in value: if isinstance(v, basestring): - csvreader = self.__unicode_csv_reader([unicode(v)]) - newval += tuple(csvreader.next()) #pylint: disable=E1101 + lines = unicode(v).splitlines() + for row in self.__unicode_csv_reader(lines): + newval.extend(row) else: - newval += (v,) - return newval + newval.append(v) + return tuple(newval) else: return value -- cgit