Spaces:
Sleeping
Sleeping
import requests | |
import json | |
import os | |
from dotenv import load_dotenv | |
load_dotenv() | |
def find_weather(city): | |
base_url = 'https://api.openweathermap.org/data/2.5/weather?' | |
weather_api_key = os.getenv("OPEN_WEATHER_API_KEY") | |
url = base_url + '&appid=' + weather_api_key + '&q=' + city + '&units=metric' | |
response = requests.get(url).json() | |
weather_data_final = { | |
"city_longitude": response['coord']['lon'], | |
"city_latitude": response['coord']['lat'], | |
"weather_main": response['weather'][0]['main'], | |
"weather_description": response['weather'][0]['description'], | |
"temperature": response['main']['temp'], | |
"feels_like": response['main']['feels_like'], | |
"temperature_min": response['main']['temp_min'], | |
"temperature_max": response['main']['temp_max'], | |
"pressure": response['main']['pressure'], | |
"humidity": response['main']['humidity'], | |
"visibility": response['visibility'], | |
"wind_speed": response['wind']['speed'], | |
"clouds": response['clouds']['all'], | |
"city_name": response['name'], | |
"country_code": response['sys']['country'] | |
} | |
output = print_weather_data(weather_data_final) | |
return weather_data_final, output | |
def print_weather_data(weather_data_final): | |
output = "City: " + weather_data_final['city_name'] + " " + weather_data_final['country_code'] + " " + "\nAverage temperature for today is: " + str(weather_data_final['temperature']) + "°C" + "\nDue to other conditions, temperature feels like " + str(weather_data_final['feels_like']) + "°C today" + "\nAverage humidity for today is: " + str(weather_data_final['humidity']) + "\n\n\n" | |
return output | |