Skip to content
Extraits de code Groupes Projets
Valider 9bc9e6cb rédigé par Benjamin - Le Filament's avatar Benjamin - Le Filament
Parcourir les fichiers

[add] csv empty file check

parent 1dd07d6d
Aucune branche associée trouvée
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
...@@ -30,6 +30,7 @@ class CgscopRigaOdooImport(models.Model): ...@@ -30,6 +30,7 @@ class CgscopRigaOdooImport(models.Model):
log = fields.Text('Log') log = fields.Text('Log')
is_error = fields.Boolean('Erreur Synchro', default=False) is_error = fields.Boolean('Erreur Synchro', default=False)
is_resync = fields.Boolean('Re-Synchronisé', default=False) is_resync = fields.Boolean('Re-Synchronisé', default=False)
is_empty_file = fields.Boolean('Fichier CSV vide', default=False)
filename = fields.Char('Nom du fichier') filename = fields.Char('Nom du fichier')
# ------------------------------------------------------ # ------------------------------------------------------
...@@ -96,11 +97,15 @@ class CgscopRigaOdooImport(models.Model): ...@@ -96,11 +97,15 @@ class CgscopRigaOdooImport(models.Model):
io.TextIOWrapper(file, encoding="utf-8-sig", newline=None), io.TextIOWrapper(file, encoding="utf-8-sig", newline=None),
delimiter=';') delimiter=';')
model_obj = self.env[model.model] model_obj = self.env[model.model]
rows = 0
crea_nb = 0 crea_nb = 0
maj_nb = 0 maj_nb = 0
log = "" log = ""
# Lecture de chaque ligne # Lecture de chaque ligne
# print(len(list(reader)))
for row in reader: for row in reader:
print(row)
rows += 1
# Création de l'objet # Création de l'objet
vals = {} vals = {}
for field in table: for field in table:
...@@ -134,17 +139,26 @@ class CgscopRigaOdooImport(models.Model): ...@@ -134,17 +139,26 @@ class CgscopRigaOdooImport(models.Model):
log += ("Pas d'enredistrement trouvé pour l'id " + log += ("Pas d'enredistrement trouvé pour l'id " +
row[primary_key] + " avec l'id riga " + row[primary_key] + " avec l'id riga " +
row[header_key] + "\n") row[header_key] + "\n")
print(rows)
if rows > 0:
log_note = ("Import du fichier " + filename + " : \n" +
" - Création de " + str(crea_nb) + " lignes\n" +
" - Mise à jour de " + str(maj_nb) + " lignes\n\n" + log)
empty_file = False
else:
log_note = ("Import du fichier " + filename + " : \n" +
"Le fichier est vide")
empty_file = True
# Création du log # Création du log
vals = { vals = {
'model_id': model.id, 'model_id': model.id,
'is_sync': True, 'is_sync': True,
'filename': filename, 'filename': filename,
'log': ("Import du fichier " + filename + " : \n" + 'log': log_note,
" - Création de " + str(crea_nb) + " lignes\n" +
" - Mise à jour de " + str(maj_nb) + " lignes\n\n" + log),
'is_warning': True if log else False, 'is_warning': True if log else False,
'is_resync': resync, 'is_resync': resync,
'is_empty_file': empty_file,
} }
if not log_id: if not log_id:
self.create(vals) self.create(vals)
......
...@@ -42,6 +42,7 @@ ...@@ -42,6 +42,7 @@
<field name="is_warning" readonly="1" /> <field name="is_warning" readonly="1" />
<field name="is_error" readonly="1" /> <field name="is_error" readonly="1" />
<field name="is_resync" readonly="1" /> <field name="is_resync" readonly="1" />
<field name="is_empty_file" readonly="1" />
<field name="write_date" readonly="1" /> <field name="write_date" readonly="1" />
</group> </group>
</group> </group>
...@@ -67,6 +68,7 @@ ...@@ -67,6 +68,7 @@
<filter name="is_warning_filter" string="Warning" domain="[('is_warning', '=', True)]"/> <filter name="is_warning_filter" string="Warning" domain="[('is_warning', '=', True)]"/>
<filter name="is_error_filter" string="En erreur" domain="[('is_error', '=', True)]"/> <filter name="is_error_filter" string="En erreur" domain="[('is_error', '=', True)]"/>
<filter name="is_resync_filter" string="Re-Synchronisé" domain="[('is_resync', '=', True)]"/> <filter name="is_resync_filter" string="Re-Synchronisé" domain="[('is_resync', '=', True)]"/>
<filter name="is_empty_file_filter" string="CSV vide" domain="[('is_empty_file', '=', True)]"/>
<separator/> <separator/>
<filter name="create_date" string="Date de création" date="create_date"/> <filter name="create_date" string="Date de création" date="create_date"/>
<filter name="write_date" string="Date de modification" date="write_date"/> <filter name="write_date" string="Date de modification" date="write_date"/>
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Veuillez vous inscrire ou vous pour commenter