diff options
| -rw-r--r-- | ishtar_common/data_importer.py | 11 | 
1 files changed, 10 insertions, 1 deletions
| diff --git a/ishtar_common/data_importer.py b/ishtar_common/data_importer.py index 85c5437d1..02a100325 100644 --- a/ishtar_common/data_importer.py +++ b/ishtar_common/data_importer.py @@ -890,6 +890,7 @@ class Importer(object):          self.match_table = {}          self.concats = set()          self.concat_str = {} +        self.to_be_close = []          if import_instance and import_instance.imported_images:              self.archive = import_instance.imported_images          self._defaults = self.DEFAULTS.copy() @@ -1104,9 +1105,14 @@ class Importer(object):                  results.append(self._line_processing(idx_line, line))              except ImporterError as msg:                  self.errors.append((idx_line, None, msg)) +        for item in self.to_be_close: +            item.close()          return results      def _line_processing(self, idx_line, line): +        for item in self.to_be_close: +            item.close() +        self.to_be_close = []          self.idx_line = idx_line          if self.skip_lines > idx_line:              self.validity.append(line) @@ -1302,7 +1308,6 @@ class Importer(object):                          # keep an empty value if there is only empty values                          values = [values[0]]              formated_values = [] -              field_name = formater.field_name              force_new = formater.force_new              if type(field_name) in (list, tuple): @@ -1342,6 +1347,10 @@ class Importer(object):                      return                  if formater.value_format and value is not None and value != "":                      value = formater.value_format.format(value) +                if hasattr(value, "close"): +                    # opened file are kept - they need to be listed and closed +                    # later +                    self.to_be_close.append(value)                  formated_values.append(value)              if hasattr(func, 'match_table'):                  if field_name not in self.match_table: | 
