diff options
| author | Étienne Loks <etienne.loks@proxience.com> | 2015-06-18 03:04:37 +0200 | 
|---|---|---|
| committer | Étienne Loks <etienne.loks@proxience.com> | 2015-06-18 03:04:37 +0200 | 
| commit | f803986166528495c727a749bf04d51a513372b2 (patch) | |
| tree | 842f5c0b692274ba37949b95a074754f2b119325 | |
| parent | 02e253f47d40d9a0e97302b1101ec382c4bcf704 (diff) | |
| parent | bc7a7480fefdcc4a5259fa3444ea9fcd4900ed34 (diff) | |
| download | Ishtar-f803986166528495c727a749bf04d51a513372b2.tar.bz2 Ishtar-f803986166528495c727a749bf04d51a513372b2.zip | |
Merge branch 'stable'
| -rw-r--r-- | archaeological_operations/tests.py | 6 | ||||
| -rw-r--r-- | ishtar_common/models.py | 16 | 
2 files changed, 13 insertions, 9 deletions
| diff --git a/archaeological_operations/tests.py b/archaeological_operations/tests.py index ccb67cc03..73f462895 100644 --- a/archaeological_operations/tests.py +++ b/archaeological_operations/tests.py @@ -62,7 +62,8 @@ class ImportOperationTest(TestCase):             '../archaeological_operations/tests/MCC-operations-example.csv', 'rb')          file_dict = {'imported_file': SimpleUploadedFile(mcc_operation_file.name,                                                  mcc_operation_file.read())} -        post_dict = {'importer_type':MCC_OPERATION.pk, 'skip_lines':1} +        post_dict = {'importer_type':MCC_OPERATION.pk, 'skip_lines':1, +                     "encoding":'utf-8'}          form = forms_common.NewImportForm(data=post_dict, files=file_dict,                                            instance=None)          form.is_valid() @@ -133,7 +134,8 @@ class ImportOperationTest(TestCase):             '../archaeological_operations/tests/MCC-parcelles-example.csv', 'rb')          file_dict = {'imported_file': SimpleUploadedFile(mcc_file.name,                                                           mcc_file.read())} -        post_dict = {'importer_type':MCC_PARCEL.pk, 'skip_lines':1} +        post_dict = {'importer_type':MCC_PARCEL.pk, 'skip_lines':1, +                     "encoding":'utf-8'}          form = forms_common.NewImportForm(data=post_dict, files=file_dict,                                            instance=None)          form.is_valid() diff --git a/ishtar_common/models.py b/ishtar_common/models.py index 4ec4bf370..5dfac246e 100644 --- a/ishtar_common/models.py +++ b/ishtar_common/models.py @@ -1439,13 +1439,15 @@ class Import(models.Model):      @property      def data_table(self):          with open(self.imported_file.path) as csv_file: -            try: -                return [line for line in unicodecsv.reader(csv_file, -                                                   encoding=self.encoding)] -            except UnicodeDecodeError: -                if encoding != encodings[-1]: -                    csv_file.seek(0) -                    return [] +            encodings = [self.encoding] +            encodings += [coding for coding, c in ENCODINGS] +            for encoding in encodings: +                try: +                    return [line for line in unicodecsv.reader(csv_file, +                                                       encoding=encoding)] +                except UnicodeDecodeError: +                    if encoding != encodings[-1]: +                        csv_file.seek(0)          return []      def initialize(self): | 
