forked from tdwojak/Python2017
70 lines
2.3 KiB
Python
70 lines
2.3 KiB
Python
#!/usr/bin/env python2
|
|
# -*- coding: utf-8 -*-
|
|
|
|
import weather,datetime
|
|
|
|
def FahrenheitToCelsius(fahrenheit):
|
|
return (fahrenheit - 32) / 1.8
|
|
#return round((fahrenheit - 32) / 1.8, 1)
|
|
|
|
def dzien_tygodnia(data):
|
|
dni_tygodnia = ["poniedziałek",
|
|
"wtorek",
|
|
"środa",
|
|
"czwartek",
|
|
"piatek",
|
|
"sobotę",
|
|
"niedzielę"]
|
|
return dni_tygodnia[data.weekday()]
|
|
|
|
def miesiaca(data):
|
|
miesiace = ["stycznia",
|
|
"lutego",
|
|
"marca",
|
|
"kwietnia",
|
|
"maja",
|
|
"czerwca",
|
|
"lipca",
|
|
"śierpnia",
|
|
"września",
|
|
"października",
|
|
"listopada",
|
|
"grudnia"]
|
|
return miesiace[data.month-1]
|
|
|
|
|
|
pogoda = weather.Weather()
|
|
|
|
# Yahoo! WOEID dla miasta Poznań 514048
|
|
|
|
#miejsce = pogoda.lookup(514048)
|
|
#stan = miejsce.condition()
|
|
#print(stan.text())
|
|
|
|
# Lookup poprzez podanie nazwy miasta
|
|
|
|
miejsce = pogoda.lookup_by_location('Poznań')
|
|
stan = miejsce.condition()
|
|
#print(stan.text())
|
|
|
|
# prognozy na nadchodzące dni
|
|
prognozy = miejsce.forecast()
|
|
#print(prognozy)
|
|
|
|
# wybieram dzień z prognozy pogody w którym bedzie najzimniej
|
|
najzimniejszy = min(prognozy, key = lambda prognozy : prognozy.low())
|
|
|
|
# konwerstuję string na format czasu
|
|
datetime_object = datetime.datetime.strptime(najzimniejszy.date(), '%d %b %Y')
|
|
|
|
#print(datetime_object.get_weekday())
|
|
#print(FahrenheitToCelsius(float(najzimniejszy.high())))
|
|
#print(FahrenheitToCelsius(float(najzimniejszy.low())))
|
|
|
|
# korzystając z prognozy, wypisuję dzień, w którym będzie najzimniej.
|
|
#
|
|
#print 'W {}'.format(dzien_tygodnia(datetime_object))+ ' ' + str(datetime_object.day) + ' ' + miesiaca(datetime_object) + ' ' + str(datetime_object.year) + ' będzie najchłodniej, najniższa możliwa temperatura może wynieść {}'.format(round(FahrenheitToCelsius(float(najzimniejszy.low())),1)) + ' °C'
|
|
|
|
wydruk = 'W {dt} {d} {m} {r} będzie najchłodniej, najniższa możliwa temperatura może wynieść {t:.1f} °C'
|
|
|
|
print wydruk.format(dt=dzien_tygodnia(datetime_object),d=str(datetime_object.day), m=miesiaca(datetime_object), r=str(datetime_object.year), t=FahrenheitToCelsius(float(najzimniejszy.low()))) |