Skip to content

Commit ff6b8b8

Browse files
committed
PUN orario non recuperato per domani, fixes #64
1 parent 428d6a7 commit ff6b8b8

File tree

1 file changed

+26
-26
lines changed

1 file changed

+26
-26
lines changed

custom_components/pun_sensor/utils.py

Lines changed: 26 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -221,43 +221,43 @@ def extract_xml(archive: ZipFile, pun_data: PunData, today: date) -> PunData:
221221
# Estrae l'ora dall'XML
222222
ora = int(prezzi.find("Ora").text) - 1 # 1..24
223223

224-
# Verifica se la data odierna non è successiva ad oggi
225-
if dat_date <= today:
226-
# Estrae il prezzo PUN dall'XML in un float
227-
if (prezzo_xml := prezzi.find("PUN")) is not None:
228-
prezzo_string = prezzo_xml.text.replace(".", "").replace(",", ".")
229-
prezzo = float(prezzo_string) / 1000
224+
# Estrae il prezzo PUN dall'XML in un float
225+
if (prezzo_xml := prezzi.find("PUN")) is not None:
226+
prezzo_string = prezzo_xml.text.replace(".", "").replace(",", ".")
227+
prezzo = float(prezzo_string) / 1000
230228

229+
# Per le medie mensili, considera solo i dati fino ad oggi
230+
if dat_date <= today:
231231
# Estrae la fascia oraria
232232
fascia = get_fascia_for_xml(dat_date, festivo, ora)
233233

234234
# Calcola le statistiche
235235
pun_data.pun[Fascia.MONO].append(prezzo)
236236
pun_data.pun[fascia].append(prezzo)
237237

238-
# Se odierno, lo salva nel PUN orario
239-
if dat_date == today:
240-
# Compone l'orario
241-
orario_prezzo = datetime_to_packed_string(
242-
datetime(
243-
year=dat_date.year,
244-
month=dat_date.month,
245-
day=dat_date.day,
246-
hour=ora,
247-
minute=0,
248-
second=0,
249-
microsecond=0,
250-
)
238+
# Per il PUN orario, considera solo oggi e domani
239+
if dat_date >= today:
240+
# Compone l'orario
241+
orario_prezzo = datetime_to_packed_string(
242+
datetime(
243+
year=dat_date.year,
244+
month=dat_date.month,
245+
day=dat_date.day,
246+
hour=ora,
247+
minute=0,
248+
second=0,
249+
microsecond=0,
251250
)
252-
# E salva il prezzo per quell'orario
253-
pun_data.pun_orari[orario_prezzo] = prezzo
254-
else:
255-
# PUN non valido
256-
_LOGGER.warning(
257-
"PUN non specificato per %s ad orario: %s.", dat_string, ora
258251
)
252+
# E salva il prezzo per quell'orario
253+
pun_data.pun_orari[orario_prezzo] = prezzo
254+
else:
255+
# PUN non valido
256+
_LOGGER.warning(
257+
"PUN non specificato per %s ad orario: %s.", dat_string, ora
258+
)
259259

260-
# Per oggi e domani estrae i prezzi zonali
260+
# Per i prezzi zonali, considera solo oggi e domani
261261
if dat_date >= today:
262262
# Compone l'orario
263263
orario_prezzo = datetime_to_packed_string(

0 commit comments

Comments
 (0)