From f1ff22e228c83974825d96798b61970099b8a10c Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?R=C3=A9mi=20-=20Le=20Filament?= <remi@le-filament.com>
Date: Mon, 15 Jan 2024 12:01:22 +0100
Subject: [PATCH] [FIX] pre-commit and errors

---
 models/acc_operation.py                | 26 +++++++++++++++++++-------
 wizards/acc_operation_wizard.py        | 18 +++++++++++++++---
 wizards/acc_operation_wizard_views.xml |  2 +-
 3 files changed, 35 insertions(+), 11 deletions(-)

diff --git a/models/acc_operation.py b/models/acc_operation.py
index 672b905..4842f2a 100644
--- a/models/acc_operation.py
+++ b/models/acc_operation.py
@@ -1,9 +1,9 @@
 # Copyright 2021- Le Filament (https://le-filament.com)
 # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html)
 import logging
-from datetime import date, datetime, timezone
+from datetime import date, datetime
 
-from dateutil import tz
+import pytz
 from dateutil.relativedelta import relativedelta
 
 from odoo import _, fields, models
@@ -263,8 +263,18 @@ class AccOperation(models.Model):
         message += "PRM " + usage_point_id.name + "\n"
         message += "Appel API ...\n"
         # Transformation des dates naives en datetime UTC
-        start_datetime = pytz.timezone("Europe/Paris").localize(fields.Datetime.to_datetime(start_date)).astimezone(pytz.UTC).replace(tzinfo=None)
-        end_datetime = pytz.timezone("Europe/Paris").localize(fields.Datetime.to_datetime(start_date)).astimezone(pytz.UTC).replace(tzinfo=None)
+        start_datetime = (
+            pytz.timezone("Europe/Paris")
+            .localize(fields.Datetime.to_datetime(start_date))
+            .astimezone(pytz.UTC)
+            .replace(tzinfo=None)
+        )
+        end_datetime = (
+            pytz.timezone("Europe/Paris")
+            .localize(fields.Datetime.to_datetime(start_date))
+            .astimezone(pytz.UTC)
+            .replace(tzinfo=None)
+        )
         curves_data = self._get_definitive_load_curves(
             self.name,
             start_datetime,
@@ -299,9 +309,11 @@ class AccOperation(models.Model):
             domain = [
                 ("acc_operation_id", "=", self.id),
                 ("acc_counter_id", "=", usage_point_id.id or False),
-                ("type_prm", "=", "delivery" if type_prm == "cons" else "injection")
+                ("type_prm", "=", "delivery" if type_prm == "cons" else "injection"),
             ]
-            self.env["acc.counter.period"]._get_periods_from_interval(domain, start_date, end_date)._update_cdc_partner_id()
+            self.env["acc.counter.period"]._get_periods_from_interval(
+                domain, start_date, end_date
+            )._update_cdc_partner_id()
         message += "Fin du traitement des données\n"
         _logger.info(message)
         return message
@@ -320,7 +332,7 @@ class AccOperation(models.Model):
         start_date_it = self.date_start_contract
         end_date_it = self.date_start_contract + relativedelta(months=1)
 
-        for i in range(nb_months):
+        for _i in range(nb_months):
             self.curves(
                 start_date_it, end_date_it, usage_point_cons_ids, usage_point_prod_ids
             )
diff --git a/wizards/acc_operation_wizard.py b/wizards/acc_operation_wizard.py
index 8174942..a5029de 100644
--- a/wizards/acc_operation_wizard.py
+++ b/wizards/acc_operation_wizard.py
@@ -105,8 +105,18 @@ class AccOperationWizard(models.TransientModel):
             domain_extra_cdc = expression.OR([domain_cons_cdc, domain_prod_cdc])
 
         domain_periods = expression.AND([domain_base, domain_extra])
-        start_datetime = pytz.timezone("Europe/Paris").localize(fields.Datetime.to_datetime(start_date)).astimezone(pytz.UTC).replace(tzinfo=None)
-        end_datetime = pytz.timezone("Europe/Paris").localize(fields.Datetime.to_datetime(start_date)).astimezone(pytz.UTC).replace(tzinfo=None)
+        start_datetime = (
+            pytz.timezone("Europe/Paris")
+            .localize(fields.Datetime.to_datetime(self.start_date))
+            .astimezone(pytz.UTC)
+            .replace(tzinfo=None)
+        )
+        end_datetime = (
+            pytz.timezone("Europe/Paris")
+            .localize(fields.Datetime.to_datetime(self.end_date))
+            .astimezone(pytz.UTC)
+            .replace(tzinfo=None)
+        )
         domain_date = [
             ("date_slot", ">=", start_datetime),
             ("date_slot", "<", end_datetime),
@@ -120,7 +130,9 @@ class AccOperationWizard(models.TransientModel):
             self.end_date,
         )
         if not period_ids:
-            raise UserError(_("Aucun période trouvée pour le(s) PRM(s) et la période demandés"))
+            raise UserError(
+                _("Aucun période trouvée pour le(s) PRM(s) et la période demandés")
+            )
 
         # Vérification si des données existent déjà
         # pour cet intervalle de date
diff --git a/wizards/acc_operation_wizard_views.xml b/wizards/acc_operation_wizard_views.xml
index 3f8025f..ab45e7d 100644
--- a/wizards/acc_operation_wizard_views.xml
+++ b/wizards/acc_operation_wizard_views.xml
@@ -14,7 +14,7 @@
                         name="prm_cons_ids"
                         widget="many2many_tags"
                         options="{'no_create_edit': True, 'no_create': True}"
-                         domain="[('type', 'in', ('del', 'del_inj')), ('acc_operation_id', '=', operation_id)]"
+                        domain="[('type', 'in', ('del', 'del_inj')), ('acc_operation_id', '=', operation_id)]"
                     />
                     <field
                         name="prm_prod_ids"
-- 
GitLab