Skip to content
Snippets Groups Projects

[UPD] allow import 15 minutes step file

Merged Julien - Le Filament requested to merge 16.0-15-steps into 16.0
1 file
+ 29
22
Compare changes
  • Side-by-side
  • Inline
@@ -115,30 +115,37 @@ class AccOperationImportWizard(models.TransientModel):
# Create Data for the CDC
message += "Lecture et import des données ... <br/>"
for row in file_reader:
# Create 1st slot 0-30min
power_data = row[1:]
# check case of csv line ending by delimiter
if power_data[-1] == '':
power_data.pop()
slot_datetime_tz = datetime.strptime(row[0], "%d/%m/%Y %H:%M")
slot_datetime_utc = local_to_utc(slot_datetime_tz, "Europe/Paris")
self.env["acc.enedis.cdc"].create(
{
"name": file.name,
"acc_operation_id": self.operation_id.id,
"acc_counter_id": counter_id.id,
"comp_data_type": computed_data_type,
"power": row[1],
"date_slot": slot_datetime_utc,
}
)
# Create 2nd slot 30-60min
self.env["acc.enedis.cdc"].create(
{
"name": file.name,
"acc_operation_id": self.operation_id.id,
"acc_counter_id": counter_id.id,
"comp_data_type": computed_data_type,
"power": row[2],
"date_slot": slot_datetime_utc + timedelta(minutes=30),
}
)
# if 2 data it's a 30 min step file if 4 it's a 15 min one
if len(power_data) == 4:
timestep = 15
else:
timestep = 30
for index, power in enumerate(power_data):
if index == 0:
timestamp = slot_datetime_utc
else:
timestamp = timestamp + timedelta(minutes=timestep)
self.env["acc.enedis.cdc"].create(
{
"name": file.name,
"acc_operation_id": self.operation_id.id,
"acc_counter_id": counter_id.id,
"comp_data_type": computed_data_type,
"power": power,
"date_slot": timestamp,
"timestep": timestep,
}
)
# Update partner_id for retrieved cdc
domain = [
Loading