Skip to content
Extraits de code Groupes Projets
Valider 11488b6f rédigé par Rémi - Le Filament's avatar Rémi - Le Filament
Parcourir les fichiers

[ADD] debug logger for file import

parent 1ed8d9d1
Aucune branche associée trouvée
Aucune étiquette associée trouvée
1 requête de fusion!2Courbes agrégées
...@@ -3,6 +3,7 @@ ...@@ -3,6 +3,7 @@
import base64 import base64
import csv import csv
import io import io
import logging
from datetime import datetime, timedelta from datetime import datetime, timedelta
from dateutil.relativedelta import relativedelta from dateutil.relativedelta import relativedelta
...@@ -13,6 +14,8 @@ from odoo.osv import expression ...@@ -13,6 +14,8 @@ from odoo.osv import expression
from odoo.addons.api_connector.tools.date_utils import local_to_utc from odoo.addons.api_connector.tools.date_utils import local_to_utc
from odoo.addons.oacc.models.acc_enedis_cdc_day import COMP_DATA_TYPE_MAP from odoo.addons.oacc.models.acc_enedis_cdc_day import COMP_DATA_TYPE_MAP
_logger = logging.getLogger(__name__)
class AccOperationImportWizard(models.TransientModel): class AccOperationImportWizard(models.TransientModel):
_name = "acc.operation.import.wizard" _name = "acc.operation.import.wizard"
...@@ -83,16 +86,26 @@ class AccOperationImportWizard(models.TransientModel): ...@@ -83,16 +86,26 @@ class AccOperationImportWizard(models.TransientModel):
("acc_operation_id", "=", self.operation_id.id), ("acc_operation_id", "=", self.operation_id.id),
("acc_counter_id", "=", counter_id), ("acc_counter_id", "=", counter_id),
] ]
domain_cdc = expression.AND([domain_all, [ domain_cdc = expression.AND(
[
domain_all,
[
("date_slot", ">=", start_datetime), ("date_slot", ">=", start_datetime),
("date_slot", "<", end_datetime), ("date_slot", "<", end_datetime),
("comp_data_type", "=", computed_data_type), ("comp_data_type", "=", computed_data_type),
]]) ],
domain_cdc_day = expression.AND([domain_all, [ ]
)
domain_cdc_day = expression.AND(
[
domain_all,
[
("date_slot", ">=", date_begin_obj.date()), ("date_slot", ">=", date_begin_obj.date()),
("date_slot", "<", date_end_obj.date()), ("date_slot", "<", date_end_obj.date()),
("comp_data_type", "=", COMP_DATA_TYPE_MAP[computed_data_type]), ("comp_data_type", "=", COMP_DATA_TYPE_MAP[computed_data_type]),
]]) ],
]
)
rec_ids = self.env[self.model].search(domain_cdc) rec_ids = self.env[self.model].search(domain_cdc)
if rec_ids: if rec_ids:
message += "Suppression des enregistrements existants de courbes ... <br/>" message += "Suppression des enregistrements existants de courbes ... <br/>"
...@@ -102,11 +115,15 @@ class AccOperationImportWizard(models.TransientModel): ...@@ -102,11 +115,15 @@ class AccOperationImportWizard(models.TransientModel):
if self.model == "acc.enedis.cdc": if self.model == "acc.enedis.cdc":
day_rec_ids = self.env["acc.enedis.cdc.day"].search(domain_cdc_day) day_rec_ids = self.env["acc.enedis.cdc.day"].search(domain_cdc_day)
if day_rec_ids: if day_rec_ids:
message += "Suppression des enregistrements existants de courbes "\ message += (
"Suppression des enregistrements existants de courbes "
"agrégées au jour ... <br/>" "agrégées au jour ... <br/>"
)
day_rec_ids.unlink() day_rec_ids.unlink()
message += "Suppression des enregistrements existants de courbes "\ message += (
"Suppression des enregistrements existants de courbes "
"agrégées au jour OK <br/>" "agrégées au jour OK <br/>"
)
return message return message
...@@ -118,9 +135,9 @@ class AccOperationImportWizard(models.TransientModel): ...@@ -118,9 +135,9 @@ class AccOperationImportWizard(models.TransientModel):
date_end_str = data_filename[2] date_end_str = data_filename[2]
date_format = "%d%m%Y" date_format = "%d%m%Y"
date_begin_obj = datetime.strptime(date_begin_str, date_format).date() date_begin_obj = datetime.strptime(date_begin_str, date_format).date()
date_end_obj = datetime.strptime(date_end_str, date_format) + relativedelta( date_end_obj = (
days=1 datetime.strptime(date_end_str, date_format) + relativedelta(days=1).date()
).date() )
# Update partner_id for retrieved cdc # Update partner_id for retrieved cdc
domain = [ domain = [
("acc_operation_id", "=", self.operation_id.id), ("acc_operation_id", "=", self.operation_id.id),
...@@ -150,6 +167,7 @@ class AccOperationImportWizard(models.TransientModel): ...@@ -150,6 +167,7 @@ class AccOperationImportWizard(models.TransientModel):
) )
for file in self.attachment_ids: for file in self.attachment_ids:
_logger.debug(f"Processing file {file.name} - Start")
message += ( message += (
"<p><strong>Fichier " "<p><strong>Fichier "
+ file.name + file.name
...@@ -215,11 +233,14 @@ class AccOperationImportWizard(models.TransientModel): ...@@ -215,11 +233,14 @@ class AccOperationImportWizard(models.TransientModel):
} }
) )
_logger.debug(f"Processing file {file.name} - Curves creation")
message += "Création des courbes<br/>" message += "Création des courbes<br/>"
self.create_curve(curves_to_create) self.create_curve(curves_to_create)
_logger.debug(f"Processing file {file.name} - Update partner_id on curves")
message += "Mise à jour du contact associé aux courbes<br/>" message += "Mise à jour du contact associé aux courbes<br/>"
self._update_partner_id(data_filename, counter_id) self._update_partner_id(data_filename, counter_id)
_logger.debug(f"Processing file {file.name} - Generating daily curves")
message += "Génération des données agrégées au jour<br/>" message += "Génération des données agrégées au jour<br/>"
self.env["acc.enedis.cdc.day"].generate( self.env["acc.enedis.cdc.day"].generate(
acc_operation_id=self.operation_id.id, acc_operation_id=self.operation_id.id,
...@@ -230,11 +251,11 @@ class AccOperationImportWizard(models.TransientModel): ...@@ -230,11 +251,11 @@ class AccOperationImportWizard(models.TransientModel):
message += "Fin de l'import des données OK<br/>" message += "Fin de l'import des données OK<br/>"
# Suppression du fichier après création des enregistrements # Suppression du fichier après création des enregistrements
_logger.debug(f"Processing file {file.name} - Remove file")
message += "Suppression du fichier " + file.name + " ...<br/>" message += "Suppression du fichier " + file.name + " ...<br/>"
file.unlink() file.unlink()
message += "Suppression OK </p>" message += "Suppression OK </p>"
message += "<h1>Fin import manuel: " + str(fields.Datetime.now()) + "</h1>" message += "<h1>Fin import manuel: " + str(fields.Datetime.now()) + "</h1>"
# Logs information logs # Logs information logs
log_id = self.env["acc.logs"].create( log_id = self.env["acc.logs"].create(
......
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