From 91ddcd9bac58ab2d075773b9609c3c83ca931161 Mon Sep 17 00:00:00 2001 From: Juliana <juliana@le-filament.com> Date: Mon, 19 Sep 2022 18:23:21 +0200 Subject: [PATCH] [UPD]Change format date slot --- models/acc_operation.py | 33 +++++++++++++++++++++------------ views/acc_operation_views.xml | 7 ++++++- views/res_partner_views.xml | 5 ++++- 3 files changed, 31 insertions(+), 14 deletions(-) diff --git a/models/acc_operation.py b/models/acc_operation.py index 997c79e..e2acb7a 100644 --- a/models/acc_operation.py +++ b/models/acc_operation.py @@ -2,11 +2,11 @@ # License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html). import base64 -import pytz -from datetime import datetime, timedelta +from datetime import datetime, timedelta, timezone from io import StringIO import pandas as pd +from dateutil import tz from odoo import _, api, fields, models from odoo.exceptions import UserError @@ -123,6 +123,8 @@ class AccOperation(models.Model): ) computed_data_type = data_filename[3].lower() + if computed_data_type != "prod" and computed_data_type != "surplus": + computed_data_type = data_filename[3].lower()[:-1] file_decode = StringIO(base64.b64decode(file.datas).decode("UTF-8")) file_decode.seek(0) @@ -133,8 +135,18 @@ class AccOperation(models.Model): # Create Data for the CDC for row in reader.values: # Create 1st slot 0-30min - date_slot = datetime.strptime(row[0], "%d/%m/%Y %H:%M") - date_slot_utc = fields.Datetime.to_string(date_slot) + slot_datetime_tz = datetime.strptime( + row[0], "%d/%m/%Y %H:%M" + ) + slot_tz = datetime.strftime( + slot_datetime_tz, "%Y-%m-%d %H:%M:%S" + ) + slot_date_tz = datetime.fromisoformat(slot_tz).replace( + tzinfo=tz.gettz("Europe/Paris") + ) + date_slot_utc = slot_date_tz.astimezone( + timezone.utc + ).replace(tzinfo=None) self.env["acc.enedis.cdc"].create( { @@ -143,16 +155,11 @@ class AccOperation(models.Model): "acc_counter_id": counter_id.id or False, "comp_data_type": computed_data_type, "power": row[1], - "date_slot": date_slot, + "date_slot": slot_datetime_tz, "date_slot_utc": date_slot_utc, } ) # Create 2nd slot 30-60min - date_slot_30 = datetime.strptime(row[0], "%d/%m/%Y %H:%M") + timedelta(minutes=30) - - date_slot_utc = fields.Datetime.to_string(date_slot_30) - - # date_slot_utc = fields.Datetime.to_string(date_slot_30) self.env["acc.enedis.cdc"].create( { "name": file.name, @@ -160,8 +167,10 @@ class AccOperation(models.Model): "acc_counter_id": counter_id.id or False, "comp_data_type": computed_data_type, "power": row[2], - "date_slot": date_slot_30, - "date_slot_utc": date_slot_utc, + "date_slot": slot_datetime_tz + + timedelta(minutes=30), + "date_slot_utc": date_slot_utc + + timedelta(minutes=30), } ) diff --git a/views/acc_operation_views.xml b/views/acc_operation_views.xml index 9823379..779e54c 100644 --- a/views/acc_operation_views.xml +++ b/views/acc_operation_views.xml @@ -25,7 +25,12 @@ <field name="arch" type="xml"> <form string="Opération"> <header> - <button string="Intégration des données ENEDIS" type="object" class="btn-primary" name="import_enedis_data"/> + <button + string="Intégration des données ENEDIS" + type="object" + class="btn-primary" + name="import_enedis_data" + /> </header> <sheet> <widget diff --git a/views/res_partner_views.xml b/views/res_partner_views.xml index 1b7f459..f3b6f3c 100644 --- a/views/res_partner_views.xml +++ b/views/res_partner_views.xml @@ -42,7 +42,10 @@ <field name="is_producer" /> <field name="is_consumer" /> <field name="is_pmo" /> - <field name="mail_contact_pmo" attrs="{'invisible': [('is_pmo', '!=', True)]}"/> + <field + name="mail_contact_pmo" + attrs="{'invisible': [('is_pmo', '!=', True)]}" + /> <field name="is_buyer_surplus" /> </field> <xpath expr="//notebook" position="inside"> -- GitLab