weather: handle bad locations better
parent
52aaa0778a
commit
0ba6438922
|
@ -26,10 +26,28 @@ class TestWeather(unittest.TestCase):
|
||||||
|
|
||||||
self.assertEqual(icao, 'KIAD')
|
self.assertEqual(icao, 'KIAD')
|
||||||
|
|
||||||
def test_location(self):
|
def test_airport(self):
|
||||||
input = Mock(
|
input = Mock(
|
||||||
match=Mock(group=lambda x: 'KIAD'),
|
match=Mock(group=lambda x: 'KIAD'),
|
||||||
sender='#phenny', nick='phenny_test')
|
sender='#phenny', nick='phenny_test')
|
||||||
f_weather(self.phenny, input)
|
f_weather(self.phenny, input)
|
||||||
|
|
||||||
assert self.phenny.msg.called is True
|
assert self.phenny.msg.called is True
|
||||||
|
|
||||||
|
def test_place(self):
|
||||||
|
input = Mock(
|
||||||
|
match=Mock(group=lambda x: 'Blacksburg'),
|
||||||
|
sender='#phenny', nick='phenny_test')
|
||||||
|
f_weather(self.phenny, input)
|
||||||
|
|
||||||
|
assert self.phenny.msg.called is True
|
||||||
|
|
||||||
|
def test_notfound(self):
|
||||||
|
input = Mock(
|
||||||
|
match=Mock(group=lambda x: 'Hell'),
|
||||||
|
sender='#phenny', nick='phenny_test')
|
||||||
|
f_weather(self.phenny, input)
|
||||||
|
|
||||||
|
self.phenny.msg.called_once_with('#phenny',
|
||||||
|
"No NOAA data available for that location.")
|
||||||
|
|
||||||
|
|
|
@ -83,6 +83,10 @@ def f_weather(self, origin, match, args):
|
||||||
try: bytes = web.get(uri % icao_code)
|
try: bytes = web.get(uri % icao_code)
|
||||||
except AttributeError:
|
except AttributeError:
|
||||||
raise GrumbleError('OH CRAP NOAA HAS GONE DOWN THE WEB IS BROKEN')
|
raise GrumbleError('OH CRAP NOAA HAS GONE DOWN THE WEB IS BROKEN')
|
||||||
|
except urllib.error.HTTPError:
|
||||||
|
self.msg(origin.sender, "No NOAA data available for that location.")
|
||||||
|
return
|
||||||
|
|
||||||
if 'Not Found' in bytes:
|
if 'Not Found' in bytes:
|
||||||
self.msg(origin.sender, icao_code+': no such ICAO code, or no NOAA data')
|
self.msg(origin.sender, icao_code+': no such ICAO code, or no NOAA data')
|
||||||
return
|
return
|
||||||
|
|
Loading…
Reference in New Issue