31 lines
826 B
Python
31 lines
826 B
Python
from functools import cache
|
|
import urllib.request
|
|
|
|
|
|
@cache
|
|
def weather_handler(date: str) -> dict:
|
|
# print(date)
|
|
# Request variables
|
|
api_link = "https://api.open-meteo.com/v1/forecast?"
|
|
coordinates = [48.712, 44.514]
|
|
weather_values = "temperature_2m,precipitation_probability,relative_humidity_2m,rain,snowfall,weather_code,wind_speed_10m,wind_direction_10m"
|
|
timezone = "Europe/Moscow"
|
|
days = "7"
|
|
url = (
|
|
api_link
|
|
+ "latitude="
|
|
+ str(coordinates[0])
|
|
+ "&longitude="
|
|
+ str(coordinates[1])
|
|
+ "¤t="
|
|
+ weather_values
|
|
+ "&hourly="
|
|
+ weather_values
|
|
+ "&timezone="
|
|
+ timezone
|
|
+ "&forecast_days="
|
|
+ days
|
|
)
|
|
raw_data = urllib.request.urlopen(url, timeout=10).read()
|
|
return raw_data
|