zulip_bots: Check API key on initialization for Weather bot.

This commit is contained in:
Viraat Chandra 2017-12-29 19:08:58 +05:30 committed by Robert Hönig
parent 524804fd2c
commit 9e73ddd292

View file

@ -1,6 +1,7 @@
# See readme.md for instructions on running this code. # See readme.md for instructions on running this code.
import requests import requests
import json import json
import logging
from typing import Any, Dict from typing import Any, Dict
@ -8,6 +9,17 @@ class WeatherHandler(object):
def initialize(self, bot_handler: Any) -> None: def initialize(self, bot_handler: Any) -> None:
self.api_key = bot_handler.get_config_info('weather')['key'] self.api_key = bot_handler.get_config_info('weather')['key']
self.response_pattern = 'Weather in {}, {}:\n{:.2f} F / {:.2f} C\n{}' self.response_pattern = 'Weather in {}, {}:\n{:.2f} F / {:.2f} C\n{}'
self.check_api_key()
def check_api_key(self) -> None:
url = 'http://api.openweathermap.org/data/2.5/weather?q=nyc&APPID=' + self.api_key
test_response = requests.get(url)
try:
test_response_data = test_response.json()
if test_response_data['cod'] == 401:
logging.error('API Key not valid. Please see doc.md to find out how to get it.')
except KeyError:
pass
def usage(self) -> str: def usage(self) -> str:
return ''' return '''