python-easy/openweather.py
2023-09-29 13:06:41 +02:00

43 lines
1.1 KiB
Python
Executable File

#!/usr/bin/env python3
import requests
from rich import print
from rich.panel import Panel
from rich.prompt import Prompt
from rich.columns import Columns
api_key = Prompt.ask("Enter your Api Key", password=True)
city_name = Prompt.ask("Enter your City", default="Göttingen")
base_url = "https://api.openweathermap.org/data/2.5/weather?"
complete_url = base_url + "appid=" + api_key + "&q=" + city_name
response = requests.get(complete_url)
x = response.json()
if x["cod"] != "404":
y = x["main"]
current_temperature = y["temp"]
current_pressure = y["pressure"]
current_humidity = y["humidity"]
z = x["weather"]
weather_description = z[0]["description"]
print()
print(Columns([
Panel(f"[blue]{round(current_temperature - 273.15, 2)}°C",
title="[bold]Temperature[/bold]"),
Panel(f"[blue]{current_pressure}hPa",
title="[bold]Atmospheric Pressure[/bold]"),
Panel(f"[blue]{current_humidity}%",
title="[bold]Humidity[/bold]"),
Panel(f"[blue]{weather_description}",
title="[bold]Description[/bold]"),
]))
else:
print(" City Not Found ")