platypush/platypush/plugins/weather/forecast.py

32 lines
1.0 KiB
Python

from platypush.message.response import Response
from platypush.plugins.http.request import HttpRequestPlugin
class WeatherForecastPlugin(HttpRequestPlugin):
""" Plugin for getting weather updates through Darksky API """
def __init__(self, darksky_token, lat, long, units='si', **kwargs):
""" Supported unit types: ca, uk2, us, si """
super().__init__(method='get', output='json')
self.latest_bulletin = {}
self.url = 'https://api.darksky.net/forecast/{}/{},{}?units={}'. \
format(darksky_token, lat, long, units)
def get_current_weather(self, **kwargs):
response = self.get(self.url)
print(response)
return Response(output=response.output['currently'])
def get_hourly_forecast(self, **kwargs):
response = self.get(self.url)
return Response(output=response.output['hourly'])
def get_daily_forecast(self, **kwargs):
response = self.get(self.url)
return Response(output=response.output['daily'])
# vim:sw=4:ts=4:et: