55 lines
2.1 KiB
Python
55 lines
2.1 KiB
Python
import requests
|
|
|
|
def get_weather_by_city(city):
|
|
url = "http://127.0.0.1:8000/weather"
|
|
params = {"city": city}
|
|
response = requests.get(url, params=params)
|
|
response.raise_for_status()
|
|
return response.json()
|
|
|
|
def get_weather_by_geo(latitude, longitude):
|
|
url = "http://127.0.0.1:8000/weather/geo"
|
|
params = {"latitude": latitude, "longitude": longitude}
|
|
response = requests.get(url, params=params)
|
|
response.raise_for_status()
|
|
return response.json()
|
|
|
|
def main():
|
|
print("=== POBIERANIE POGODY Z SERWERA ===")
|
|
choice = input("Wybierz sposób pobierania pogody (1 - miasto, 2 - współrzędne): ").strip()
|
|
|
|
try:
|
|
if choice == "1":
|
|
city = input("Podaj miasto (np. warszawa, krakow, gdansk): ").strip().lower()
|
|
data = get_weather_by_city(city)
|
|
|
|
if "error" in data:
|
|
print("Błąd:", data["error"])
|
|
return
|
|
|
|
print("\n=== AKTUALNA POGODA DLA MIASTA ===")
|
|
print(f"Miasto: {data.get('city')}")
|
|
print(f"Temperatura: {data.get('temperature')} °C")
|
|
print(f"Wiatr: {data.get('windspeed')} km/h")
|
|
print(f"Czas pomiaru: {data.get('time')}")
|
|
|
|
elif choice == "2":
|
|
latitude = input("Podaj szerokość geograficzną (latitude): ").strip()
|
|
longitude = input("Podaj długość geograficzną (longitude): ").strip()
|
|
data = get_weather_by_geo(latitude, longitude)
|
|
|
|
print("\n=== AKTUALNA POGODA WG WSPÓŁRZĘDNYCH ===")
|
|
print(f"Miasto: {data.get('city')}")
|
|
print(f"Szerokość: {data.get('latitude')}")
|
|
print(f"Długość: {data.get('longitude')}")
|
|
print(f"Temperatura: {data.get('temperature')} °C")
|
|
print(f"Wiatr: {data.get('windspeed')} km/h")
|
|
print(f"Czas pomiaru: {data.get('time')}")
|
|
else:
|
|
print("Nieprawidłowy wybór. Wybierz 1 lub 2.")
|
|
except requests.RequestException as e:
|
|
print("Błąd połączenia z serwerem lub serwer zwrócił błąd:", e)
|
|
|
|
if __name__ == "__main__":
|
|
main()
|