diff options
-rw-r--r-- | ishtar_common/data_importer.py | 15 |
1 files changed, 12 insertions, 3 deletions
diff --git a/ishtar_common/data_importer.py b/ishtar_common/data_importer.py index b70e76ffc..2f1d09199 100644 --- a/ishtar_common/data_importer.py +++ b/ishtar_common/data_importer.py @@ -687,8 +687,8 @@ class Importer(object): if 'history_modifier' in \ self.OBJECT_CLS._meta.get_all_field_names(): data['history_modifier'] = self.history_modifier - obj, created = self.get_object(self.OBJECT_CLS, data) + obj, created = self.get_object(self.OBJECT_CLS, data) if self.import_instance and hasattr(obj, 'imports'): obj.imports.add(self.import_instance) @@ -923,8 +923,17 @@ class Importer(object): for v in values: getattr(obj, attr).add(v) except IntegrityError as e: - raise ImporterError("Erreur d'import %s, contexte : %s, erreur : %s" \ - % (unicode(cls), unicode(data), e.message.decode('utf-8'))) + message = e.message + try: + message = unicode(e.message.decode('utf-8')) + except (UnicodeDecodeError, UnicodeDecodeError): + message = '' + try: + data = unicode(data) + except UnicodeDecodeError: + data = '' + raise ImporterError(u"Erreur d'import %s, contexte : %s, erreur : %s" \ + % (unicode(cls), data, message)) return obj, created return data |