summaryrefslogtreecommitdiff
path: root/ishtar_common/data_importer.py
diff options
context:
space:
mode:
Diffstat (limited to 'ishtar_common/data_importer.py')
-rw-r--r--ishtar_common/data_importer.py16
1 files changed, 10 insertions, 6 deletions
diff --git a/ishtar_common/data_importer.py b/ishtar_common/data_importer.py
index 3b7e4305e..90cabf0b1 100644
--- a/ishtar_common/data_importer.py
+++ b/ishtar_common/data_importer.py
@@ -61,7 +61,7 @@ def pre_importer_action(func):
return wrapper
-class ImportFormater(object):
+class ImportFormater:
def __init__(
self,
field_name,
@@ -1139,7 +1139,6 @@ class Importer(object):
self.to_be_close = []
self.idx_line = idx_line
if self.skip_lines > idx_line:
- self.validity.append(line)
return
if not line:
self.validity.append([])
@@ -1189,7 +1188,6 @@ class Importer(object):
if nok or not any(1 for k in test_dict if test_dict[k]): # test empty dict
continue
data = update_data(defaults, data)
-
self.validity.append(c_row)
if not self.c_errors and (idx_col + 1) < self.min_col_number:
self.c_errors = True
@@ -1445,7 +1443,7 @@ class Importer(object):
func = formater.formater
if type(func) in (list, tuple):
func = func[idx_fields]
- if not callable(func) and type(func) == str:
+ if not callable(func) and isinstance(func, str):
func = getattr(self, func)
values = [val]
@@ -1523,18 +1521,21 @@ class Importer(object):
printed_values = value
if type(value) not in (list, tuple):
printed_values = [value]
+ if isinstance(func, FileFormater):
+ printed_values = [str(v).split(os.sep)[-1] for v in printed_values]
try:
# don't reunicode - unicoded values
c_values.append(" ; ".join([v for v in printed_values]))
except TypeError:
c_values.append(" ; ".join([str(v) for v in printed_values]))
+
if value is None and formater.required:
self.c_errors = True
self.errors.append(
(idx_line + 1, idx_col + 1, self.ERRORS["value_required"])
)
+ c_row.append("")
return data
-
field_names = [field_name]
force_news = [force_new]
concats = formater.concat
@@ -1557,6 +1558,8 @@ class Importer(object):
self._throughs.append((formater, value))
else:
for idx, f_name in enumerate(field_names):
+ if not f_name:
+ continue
self._field_name_to_data_dict(
f_name,
value,
@@ -2201,7 +2204,8 @@ class Importer(object):
return self._get_csv(self.errors, header=[_("line"), _("col"), _("error")])
def get_csv_result(self):
- return self._get_csv(self.validity)
+ header = [(line_format and line_format.label) or "-" for line_format in self.LINE_FORMAT]
+ return self._get_csv(self.validity, header=header)
def get_csv_matches(self):
header = [_("field"), _("source"), _("result")]