diff --git a/modules/src/__init__.py b/modules/src/__init__.py index 59512afd..8e54db2f 100644 --- a/modules/src/__init__.py +++ b/modules/src/__init__.py @@ -1,5 +1,6 @@ __all__ = [ 'movie', + 'dictionary', 'joke', 'hello' ] diff --git a/modules/src/dictionary.py b/modules/src/dictionary.py new file mode 100644 index 00000000..160a3abc --- /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 of " + input + ": " + data['tuc'][0]['meanings'][0]['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)