diff options
| author | Étienne Loks <etienne.loks@iggdrasil.net> | 2017-10-02 19:57:14 +0200 | 
|---|---|---|
| committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2017-10-02 19:57:14 +0200 | 
| commit | 50bbd5bbddd28d0c80eacd2665126945a44dff27 (patch) | |
| tree | 53a8427c73b93d301a381a74dfca4769eccac850 | |
| parent | 2d004a024300d7c33111e57c5c9365db67af6224 (diff) | |
| download | Ishtar-50bbd5bbddd28d0c80eacd2665126945a44dff27.tar.bz2 Ishtar-50bbd5bbddd28d0c80eacd2665126945a44dff27.zip | |
Import: do not stop post processing on first error
| -rw-r--r-- | ishtar_common/data_importer.py | 9 | 
1 files changed, 6 insertions, 3 deletions
| diff --git a/ishtar_common/data_importer.py b/ishtar_common/data_importer.py index b88fbff2f..9caebb2dd 100644 --- a/ishtar_common/data_importer.py +++ b/ishtar_common/data_importer.py @@ -868,7 +868,7 @@ class Importer(object):                  self.history_modifier = User.objects.filter(                      is_superuser=True).order_by('pk')[0] -    def post_processing(self, item, data): +    def post_processing(self, idx_line, item):          # force django based post-processing for the item          item.save()          if hasattr(item, 'RELATED_POST_PROCESS'): @@ -876,7 +876,10 @@ class Importer(object):                  for related in getattr(item, related_key).all():                      related.save()          for func, context, value in self._item_post_processing: -            getattr(item, func)(context, value) +            try: +                getattr(item, func)(context, value) +            except ImporterError as msg: +                self.errors.append((idx_line, None, msg))          return item      def initialize(self, table, output='silent', choose_default=False, @@ -1153,7 +1156,7 @@ class Importer(object):          for formater, val in self._post_processing:              formater.post_process(obj, data, val, owner=self.history_modifier) -        self.post_processing(obj, data) +        self.post_processing(idx_line, obj)      def _row_processing(self, c_row, idx_col, idx_line, val, data):          if idx_col >= len(self.line_format): | 
