Backup automatico script del 2026-01-25 07:00
This commit is contained in:
@@ -9,6 +9,7 @@ import time
|
||||
from typing import Optional, List
|
||||
from zoneinfo import ZoneInfo
|
||||
from dateutil import parser as date_parser
|
||||
from open_meteo_client import open_meteo_get
|
||||
|
||||
# Setup logging
|
||||
logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s')
|
||||
@@ -161,7 +162,7 @@ def get_icon_set(prec, snow, code, is_day, cloud, vis, temp, rain, gust, cape, c
|
||||
def get_coordinates(city_name: str):
|
||||
params = {"name": city_name, "count": 1, "language": "it", "format": "json"}
|
||||
try:
|
||||
r = requests.get(GEOCODING_URL, params=params, headers=HTTP_HEADERS, timeout=10)
|
||||
r = open_meteo_get(GEOCODING_URL, params=params, headers=HTTP_HEADERS, timeout=(5, 15))
|
||||
data = r.json()
|
||||
if "results" in data and data["results"]:
|
||||
res = data["results"][0]
|
||||
@@ -223,7 +224,7 @@ def get_forecast(lat, lon, model=None, is_home=False, timezone=None, retry_after
|
||||
try:
|
||||
t0 = time.time()
|
||||
# Timeout ridotto a 20s per fallire più velocemente in caso di problemi
|
||||
r = requests.get(OPEN_METEO_URL, params=params, headers=HTTP_HEADERS, timeout=20)
|
||||
r = open_meteo_get(OPEN_METEO_URL, params=params, headers=HTTP_HEADERS, timeout=(5, 20))
|
||||
if r.status_code != 200:
|
||||
# Dettagli errore più specifici
|
||||
error_details = f"Status {r.status_code}"
|
||||
@@ -276,7 +277,7 @@ def get_visibility_forecast(lat, lon):
|
||||
try:
|
||||
t0 = time.time()
|
||||
# Timeout ridotto a 12s per fallire più velocemente
|
||||
r = requests.get(OPEN_METEO_URL, params=params_ecmwf, headers=HTTP_HEADERS, timeout=12)
|
||||
r = open_meteo_get(OPEN_METEO_URL, params=params_ecmwf, headers=HTTP_HEADERS, timeout=(5, 12))
|
||||
if r.status_code == 200:
|
||||
data = r.json()
|
||||
hourly = data.get("hourly", {})
|
||||
@@ -299,7 +300,7 @@ def get_visibility_forecast(lat, lon):
|
||||
try:
|
||||
t0 = time.time()
|
||||
# Timeout ridotto a 12s per fallire più velocemente
|
||||
r = requests.get(OPEN_METEO_URL, params=params_best, headers=HTTP_HEADERS, timeout=12)
|
||||
r = open_meteo_get(OPEN_METEO_URL, params=params_best, headers=HTTP_HEADERS, timeout=(5, 12))
|
||||
if r.status_code == 200:
|
||||
data = r.json()
|
||||
hourly = data.get("hourly", {})
|
||||
|
||||
Reference in New Issue
Block a user