12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- #!/usr/bin/env python3
-
- from pyowm.owm import OWM
- from pyowm.utils.config import get_default_config
-
- import time
-
- api_key = "7de9d39fd4476f811000ceecbbe69376"
-
- class WeatherScreen:
- def __init__(self, gui, latitude = 47.7174, longitude = 9.3924, language = "de", refresh = 600, width = 32, height = 32):
- self.gui = gui
- self.latitude = latitude
- self.longitude = longitude
- self.language = language
- self.refresh = refresh
- self.width = width
- self.height = height
-
- self.lastTime = time.time()
- self.data = ""
-
- self.fetchData()
-
- def fetchData(self):
- config_dict = get_default_config()
- config_dict['language'] = self.language
- owm = OWM(api_key, config_dict)
- mgr = owm.weather_manager()
-
- observation = mgr.weather_at_place("Tuttlingen, DE")
- print(observation.weather.rain)
- print(observation.weather.snow)
- print(observation.weather.wind)
- print(observation.weather.humidity)
- print(observation.weather.pressure)
- print(observation.weather.temperature)
- print(observation.weather.clouds)
- print(observation.weather.status)
- print(observation.weather.detailed_status)
- print(observation.weather.weather_icon_name)
- print(observation.weather.precipitation_probability)
-
- #self.data = mgr.one_call(lat=self.latitude, lon=self.longitude)
- #print(self.data.forecast_hourly[0].wind().get("speed", 0))
-
- def draw(self):
- if (time.time() - self.lastTime) > self.refresh:
- self.fetchData()
- self.lastTime = time.time()
-
- # TODO text location
- # TODO text data
-
- def finished(self):
- return True
-
- def restart(self):
- pass
-
- if __name__ == "__main__":
- import platform
- t = None
- if platform.machine() == "armv7l":
- from pi import PiMatrix
- t = PiMatrix()
- else:
- from test import TestGUI
- t = TestGUI()
-
- s = WeatherScreen(t)
- s.draw()
- t.debug_loop(s.draw)
|