Backup automatico script del 2026-01-25 07:00
This commit is contained in:
@@ -14,6 +14,7 @@ from zoneinfo import ZoneInfo
|
||||
|
||||
import requests
|
||||
from dateutil import parser
|
||||
from open_meteo_client import configure_open_meteo_session
|
||||
|
||||
# =============================================================================
|
||||
# student_alert.py
|
||||
@@ -222,7 +223,7 @@ def get_forecast(session: requests.Session, lat: float, lon: float, model: str)
|
||||
if model == MODEL_AROME:
|
||||
params["minutely_15"] = "precipitation,rain,snowfall,precipitation_probability,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:
|
||||
@@ -230,7 +231,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:
|
||||
@@ -243,7 +244,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:
|
||||
@@ -275,7 +276,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:
|
||||
@@ -289,7 +290,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:
|
||||
@@ -303,7 +304,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:
|
||||
@@ -580,6 +581,7 @@ def main(chat_ids: Optional[List[str]] = None, debug_mode: bool = False) -> None
|
||||
comparisons: Dict[str, Dict] = {} # point_name -> comparison info
|
||||
|
||||
with requests.Session() as session:
|
||||
configure_open_meteo_session(session, headers=HTTP_HEADERS)
|
||||
# Trigger: Bologna
|
||||
bo = POINTS[0]
|
||||
bo_data_arome = get_forecast(session, bo["lat"], bo["lon"], MODEL_AROME)
|
||||
|
||||
Reference in New Issue
Block a user