diff options
author | Étienne Loks <etienne.loks@iggdrasil.net> | 2024-06-26 12:29:05 +0200 |
---|---|---|
committer | Étienne Loks <etienne.loks@iggdrasil.net> | 2024-06-27 09:54:54 +0200 |
commit | 13f3a093b767feefeabc55233af0eb82b0cc8966 (patch) | |
tree | a36bcf52bf908a95b68551a07650da0331cdc72f /ishtar_common/models_imports.py | |
parent | a6bc7e64d72b8a2c88e5e365cf0627bdd0807cff (diff) | |
download | Ishtar-13f3a093b767feefeabc55233af0eb82b0cc8966.tar.bz2 Ishtar-13f3a093b767feefeabc55233af0eb82b0cc8966.zip |
🐛 Imports: manage error on file opening (ODS, excel formats)
Diffstat (limited to 'ishtar_common/models_imports.py')
-rw-r--r-- | ishtar_common/models_imports.py | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/ishtar_common/models_imports.py b/ishtar_common/models_imports.py index 97a6aaf12..53a3c068f 100644 --- a/ishtar_common/models_imports.py +++ b/ishtar_common/models_imports.py @@ -2197,8 +2197,17 @@ class Import(BaseImport): last_column = max(col_numbers) filename = ".".join(imported_file_path.split('.')[:-1]) + f"-{random.randint(1, 10000):05d}.csv" - data.to_csv(filename, index=False, columns=data.columns[range(last_column)], - float_format=np_format_int_float) + try: + data.to_csv(filename, index=False, columns=data.columns[range(last_column)], + float_format=np_format_int_float) + except IndexError: + error_file = f"{slugify(self.name)}_errors_{datetime.datetime.now().strftime('%Y-%m-%d-%H%M')}.csv" + error = str(_("Error while opening the file. Particularly check the number of columns of your file.")) + csv_file = f"line,error\n-,{error}" + self.error_file.save( + error_file, ContentFile(csv_file.encode("utf-8")) + ) + return # TODO: date_format options do not do the job... Dirty hack DATE = re.compile( r"^(1[0-9]|20|[1-9])\d{2}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01]) 00:00:00" |