summaryrefslogtreecommitdiff
path: root/addons/base_import/models.py
diff options
context:
space:
mode:
authorChristophe Simonis <chs@odoo.com>2015-04-01 12:59:20 +0200
committerChristophe Simonis <chs@odoo.com>2015-04-01 13:22:11 +0200
commitf18b46fcded8a7bacda291436f1b60774cb4ba0c (patch)
tree968877b695bd06804410ba0718324a4e975ee40f /addons/base_import/models.py
parentfe31451899ea84fbffe1bc17d7f41ec10a8d786a (diff)
[FIX] base_import: ignore stripped empty lines
Better fix for commit dab37df04d7f2ef1dc8ab6be491693294dea949b
Diffstat (limited to 'addons/base_import/models.py')
-rw-r--r--addons/base_import/models.py18
1 files changed, 11 insertions, 7 deletions
diff --git a/addons/base_import/models.py b/addons/base_import/models.py
index 80ee8fef595..9778391521a 100644
--- a/addons/base_import/models.py
+++ b/addons/base_import/models.py
@@ -136,7 +136,11 @@ class ir_import(orm.TransientModel):
StringIO(record.file),
quotechar=str(options['quoting']),
delimiter=str(options['separator']))
- csv_nonempty = itertools.ifilter(None, csv_iterator)
+
+ def nonempty(row):
+ return any(x for x in row if x.strip())
+
+ csv_nonempty = itertools.ifilter(nonempty, csv_iterator)
# TODO: guess encoding with chardet? Or https://github.com/aadsm/jschardet
encoding = options.get('encoding', 'utf-8')
return itertools.imap(
@@ -280,13 +284,13 @@ class ir_import(orm.TransientModel):
if options.get('headers'):
rows_to_import = itertools.islice(
rows_to_import, 1, None)
-
- data = []
- for row in rows_to_import:
+ data = [
+ row for row in itertools.imap(mapper, rows_to_import)
# don't try inserting completely empty rows (e.g. from
- # filtering out o2m fields
- if any(f.strip() for f in row):
- data.append(mapper(row))
+ # filtering out o2m fields)
+ if any(row)
+ ]
+
return data, import_fields
def do(self, cr, uid, id, fields, options, dryrun=False, context=None):