fix wiktionary no results error handling

master
mutantmonkey 2012-06-07 18:17:55 -07:00
parent 931b53a974
commit cf53da9d6e
2 changed files with 19 additions and 1 deletions

View File

@ -20,6 +20,12 @@ class TestWiktionary(unittest.TestCase):
assert len(w[0]) > 0
assert len(w[1]) > 0
def test_wiktionary_none(self):
w = wiktionary.wiktionary('Hell!')
assert len(w[0]) == 0
assert len(w[1]) == 0
def test_w(self):
input = Mock(group=lambda x: 'test')
wiktionary.w(self.phenny, input)
@ -27,3 +33,11 @@ class TestWiktionary(unittest.TestCase):
out = self.phenny.say.call_args[0][0]
m = re.match('^test — noun: .*$', out, flags=re.UNICODE)
self.assertTrue(m)
def test_w_none(self):
word = 'Hell!'
input = Mock(group=lambda x: word)
wiktionary.w(self.phenny, input)
self.phenny.say.assert_called_once_with(
"Couldn't get any definitions for {0}.".format(word))

View File

@ -38,7 +38,11 @@ def wiktionary(word):
pages = json.loads(bytes)
pages = pages['query']['pages']
pg = next(iter(pages))
result = pages[pg]['revisions'][0]['*']
try:
result = pages[pg]['revisions'][0]['*']
except KeyError:
return '', ''
mode = None
etymology = None