Backup automatico script del 2026-01-25 07:00

This commit is contained in:
2026-01-25 07:00:03 +01:00
parent 9dbe0cfa93
commit f0c5672607
16 changed files with 241 additions and 61 deletions

View File

@@ -15,6 +15,7 @@ from zoneinfo import ZoneInfo
import requests
from dateutil import parser
from open_meteo_client import configure_open_meteo_session
# =============================================================================
# arome_snow_alert.py
@@ -382,7 +383,7 @@ def get_forecast(session: requests.Session, lat: float, lon: float, model: str,
params["minutely_15"] = "snowfall,precipitation_probability,precipitation,rain,temperature_2m"
try:
r = session.get(OPEN_METEO_URL, params=params, headers=HTTP_HEADERS, timeout=25)
r = session.get(OPEN_METEO_URL, params=params, headers=HTTP_HEADERS, timeout=(5, 25))
if r.status_code == 400:
# Se 400 e abbiamo minutely_15, riprova senza
if "minutely_15" in params and model == MODEL_AROME:
@@ -390,7 +391,7 @@ def get_forecast(session: requests.Session, lat: float, lon: float, model: str,
params_no_minutely = params.copy()
del params_no_minutely["minutely_15"]
try:
r2 = session.get(OPEN_METEO_URL, params=params_no_minutely, headers=HTTP_HEADERS, timeout=25)
r2 = session.get(OPEN_METEO_URL, params=params_no_minutely, headers=HTTP_HEADERS, timeout=(5, 25))
if r2.status_code == 200:
return r2.json()
except Exception:
@@ -408,7 +409,7 @@ def get_forecast(session: requests.Session, lat: float, lon: float, model: str,
params_no_minutely = params.copy()
del params_no_minutely["minutely_15"]
try:
r2 = session.get(OPEN_METEO_URL, params=params_no_minutely, headers=HTTP_HEADERS, timeout=25)
r2 = session.get(OPEN_METEO_URL, params=params_no_minutely, headers=HTTP_HEADERS, timeout=(5, 25))
if r2.status_code == 200:
return r2.json()
except Exception:
@@ -460,7 +461,7 @@ def get_forecast(session: requests.Session, lat: float, lon: float, model: str,
params_no_minutely = params.copy()
del params_no_minutely["minutely_15"]
try:
r2 = session.get(OPEN_METEO_URL, params=params_no_minutely, headers=HTTP_HEADERS, timeout=25)
r2 = session.get(OPEN_METEO_URL, params=params_no_minutely, headers=HTTP_HEADERS, timeout=(5, 25))
if r2.status_code == 200:
return r2.json()
except Exception:
@@ -474,7 +475,7 @@ def get_forecast(session: requests.Session, lat: float, lon: float, model: str,
params_no_minutely = params.copy()
del params_no_minutely["minutely_15"]
try:
r2 = session.get(OPEN_METEO_URL, params=params_no_minutely, headers=HTTP_HEADERS, timeout=25)
r2 = session.get(OPEN_METEO_URL, params=params_no_minutely, headers=HTTP_HEADERS, timeout=(5, 25))
if r2.status_code == 200:
return r2.json()
except Exception:
@@ -488,7 +489,7 @@ def get_forecast(session: requests.Session, lat: float, lon: float, model: str,
params_no_minutely = params.copy()
del params_no_minutely["minutely_15"]
try:
r2 = session.get(OPEN_METEO_URL, params=params_no_minutely, headers=HTTP_HEADERS, timeout=25)
r2 = session.get(OPEN_METEO_URL, params=params_no_minutely, headers=HTTP_HEADERS, timeout=(5, 25))
if r2.status_code == 200:
return r2.json()
except Exception:
@@ -1399,6 +1400,7 @@ def analyze_snow(chat_ids: Optional[List[str]] = None, debug_mode: bool = False)
casa_location_name = "🏠 Casa"
with requests.Session() as session:
configure_open_meteo_session(session, headers=HTTP_HEADERS)
for p in POINTS:
# Recupera AROME seamless
data_arome = get_forecast(session, p["lat"], p["lon"], MODEL_AROME)