add comment with URL of web colors
[chrisu/seepark.git] / seeparklib / openweathermap.py
1 import requests
2
3
4 class OpenWeatherMapError(RuntimeError):
5     pass
6
7
8 def openweathermap_json(apikey, cityid):
9     """Returns parsed JSON as returned by openweathermap for the given cityid.
10     In case of errors, an OpenWeatherMapError is raised."""
11     baseurl = 'http://api.openweathermap.org/data/2.5/weather'
12     url = baseurl + '?units=metric&APPID={}&id={}&lang=de'.format(apikey, cityid)
13     try:
14         response = requests.get(url)
15         if response.status_code != 200:
16             raise OpenWeatherMapError('Got status code {} ({}).'.format(response.status_code, response.reason))
17         else:
18             return url, response.json()
19     except requests.exceptions.RequestException as error:
20         raise OpenWeatherMapError('Request not successful: {}'.format(error))