From fa6c07f9fdd1a3ea199e1b0788f77b5c7226ba34 Mon Sep 17 00:00:00 2001 From: Advith Chelikani Date: Tue, 19 Apr 2016 13:01:08 -0700 Subject: [PATCH 1/5] dictionary module added Uses top definition from Glosbe API --- modules/src/__init__.py | 3 ++- modules/src/dictionary.py | 18 ++++++++++++++++++ modules/tests/test_dictionary.py | 9 +++++++++ 3 files changed, 29 insertions(+), 1 deletion(-) create mode 100644 modules/src/dictionary.py create mode 100644 modules/tests/test_dictionary.py diff --git a/modules/src/__init__.py b/modules/src/__init__.py index 59512afd..feeadf26 100644 --- a/modules/src/__init__.py +++ b/modules/src/__init__.py @@ -1,5 +1,6 @@ __all__ = [ 'movie', 'joke', - 'hello' + 'hello', + 'dictionary' ] diff --git a/modules/src/dictionary.py b/modules/src/dictionary.py new file mode 100644 index 00000000..c32110c7 --- /dev/null +++ b/modules/src/dictionary.py @@ -0,0 +1,18 @@ +import re +import requests + +def match(input): + return bool(re.match(r'^.*\s+definition$', input)) + +def process(input): + output = {} + word = re.match(r'^(?P.*)\s+definition$', input).group('definition') + try: + r = requests.get("https://glosbe.com/gapi/translate?from=eng&dest=eng&format=json&phrase=" + word + "&pretty=true") + data = r.json() + output['input'] = input + output['output'] = "Definition: " + data['tuc'][0]['meanings'][1]['text'] + output['success'] = True + except: + output['success'] = False + return output \ No newline at end of file diff --git a/modules/tests/test_dictionary.py b/modules/tests/test_dictionary.py new file mode 100644 index 00000000..61c474bf --- /dev/null +++ b/modules/tests/test_dictionary.py @@ -0,0 +1,9 @@ +from modules.src import dictionary + +def test_joke(): + assert(dictionary.match('jarvis definition') == True) + assert(dictionary.match('word definition') == True) + assert(dictionary.match('computer definition') == True) + assert(dictionary.match('definition definition') == True) + assert(dictionary.match('jarvis jarvis') == False) + assert(dictionary.match('something random') == False) From b3418dfa4cf6157dd207ed80e478cc40a6a56b54 Mon Sep 17 00:00:00 2001 From: Advith Chelikani Date: Tue, 19 Apr 2016 23:02:15 -0700 Subject: [PATCH 2/5] detection order update --- modules/src/__init__.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/src/__init__.py b/modules/src/__init__.py index feeadf26..8e54db2f 100644 --- a/modules/src/__init__.py +++ b/modules/src/__init__.py @@ -1,6 +1,6 @@ __all__ = [ 'movie', + 'dictionary', 'joke', - 'hello', - 'dictionary' + 'hello' ] From d2eacd53951115c7c90f317784d0a2ce89c31f70 Mon Sep 17 00:00:00 2001 From: Advith Chelikani Date: Tue, 19 Apr 2016 23:18:43 -0700 Subject: [PATCH 3/5] add input word in output --- modules/src/dictionary.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/src/dictionary.py b/modules/src/dictionary.py index c32110c7..160a3abc 100644 --- a/modules/src/dictionary.py +++ b/modules/src/dictionary.py @@ -11,7 +11,7 @@ def process(input): r = requests.get("https://glosbe.com/gapi/translate?from=eng&dest=eng&format=json&phrase=" + word + "&pretty=true") data = r.json() output['input'] = input - output['output'] = "Definition: " + data['tuc'][0]['meanings'][1]['text'] + output['output'] = "Definition of " + input + ": " + data['tuc'][0]['meanings'][0]['text'] output['success'] = True except: output['success'] = False From d080ab3e51684ca24e54d73f2d23596074bd6e26 Mon Sep 17 00:00:00 2001 From: Advith Chelikani Date: Tue, 19 Apr 2016 23:30:52 -0700 Subject: [PATCH 4/5] switch back to 1 index for dictionary --- modules/src/dictionary.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/src/dictionary.py b/modules/src/dictionary.py index 160a3abc..56c3396a 100644 --- a/modules/src/dictionary.py +++ b/modules/src/dictionary.py @@ -11,7 +11,7 @@ def process(input): r = requests.get("https://glosbe.com/gapi/translate?from=eng&dest=eng&format=json&phrase=" + word + "&pretty=true") data = r.json() output['input'] = input - output['output'] = "Definition of " + input + ": " + data['tuc'][0]['meanings'][0]['text'] + output['output'] = "Definition of " + input + ": " + data['tuc'][0]['meanings'][1]['text'] output['success'] = True except: output['success'] = False From c28c1aaaf4183a74dbd8b641eac7f0a8cbc85dd6 Mon Sep 17 00:00:00 2001 From: Advith Chelikani Date: Wed, 20 Apr 2016 08:56:57 -0700 Subject: [PATCH 5/5] switch back to 0 indexing --- modules/src/dictionary.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/src/dictionary.py b/modules/src/dictionary.py index 56c3396a..160a3abc 100644 --- a/modules/src/dictionary.py +++ b/modules/src/dictionary.py @@ -11,7 +11,7 @@ def process(input): r = requests.get("https://glosbe.com/gapi/translate?from=eng&dest=eng&format=json&phrase=" + word + "&pretty=true") data = r.json() output['input'] = input - output['output'] = "Definition of " + input + ": " + data['tuc'][0]['meanings'][1]['text'] + output['output'] = "Definition of " + input + ": " + data['tuc'][0]['meanings'][0]['text'] output['success'] = True except: output['success'] = False