From 8670f8886374b9f08fecd527851c191cb27d589f Mon Sep 17 00:00:00 2001 From: Krizhan Mariampillai Date: Sun, 5 Jun 2016 15:14:33 -0400 Subject: [PATCH 1/4] Update config.py --- config.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/config.py b/config.py index 207e3db4..42b2813d 100644 --- a/config.py +++ b/config.py @@ -4,3 +4,5 @@ GOODREADS_ACCESS_TOKEN = '' WORDS_API_KEY = '' JOKES_SOURCE_FILE = 'data/jokes.json' +MAPQUEST_ACCESS_TOKEN = 'CcNE2f13xlbD9bMBYzWHsyasWeyGDfwA' +TIME_ZONE_ACCESS_TOKEN = 'M4K04AV6U6IT' From bb0f9b1ee7f0fa213525f9e1c476a31810e973c8 Mon Sep 17 00:00:00 2001 From: Krizhan Mariampillai Date: Sun, 5 Jun 2016 15:15:09 -0400 Subject: [PATCH 2/4] Update __init__.py --- modules/src/__init__.py | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/src/__init__.py b/modules/src/__init__.py index 0988d343..acf2f07a 100644 --- a/modules/src/__init__.py +++ b/modules/src/__init__.py @@ -10,5 +10,6 @@ 'movie', 'quote', 'request', + 'time', 'wiki', ] From 31de94cf84f127b8fb0b5cc12833325d34369b47 Mon Sep 17 00:00:00 2001 From: Krizhan Mariampillai Date: Sun, 5 Jun 2016 15:15:32 -0400 Subject: [PATCH 3/4] Create time.py --- modules/src/time.py | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) create mode 100644 modules/src/time.py diff --git a/modules/src/time.py b/modules/src/time.py new file mode 100644 index 00000000..a152b883 --- /dev/null +++ b/modules/src/time.py @@ -0,0 +1,24 @@ +import requests +import config +import os +from templates.text import TextTemplate +from datetime import datetime + +MAPQUEST_ACCESS_TOKEN = os.environ.get('MAPQUEST_ACCESS_TOKEN', config.MAPQUEST_ACCESS_TOKEN) +TIME_ZONE_ACCESS_TOKEN = os.environ.get('TIME_ZONE_ACCESS_TOKEN', config.TIME_ZONE_ACCESS_TOKEN) + +def process(input, entities): + output = {} + try: + l = requests.get('http://open.mapquestapi.com/nominatim/v1/search.php?key=' + MAPQUEST_ACCESS_TOKEN + '&format=json&q='+ entities['time'][0]['value'] + '&addressdetails=0&limit=1') + location = l.json() + r = requests.get('http://api.timezonedb.com/?lat='+ location[0]['lat'] + '&lng='+ location[0]['lon'] + '&format=json&key=' + TIME_ZONE_ACCESS_TOKEN) + time_data = r.json() + the_time = datetime.utcfromtimestamp(time_data['timestamp']).strftime('%Y-%m-%d %H:%M:%S') + output['input'] = input + output['output'] = TextTemplate('Location: ' + location[0]['display_name'] + '\nTime: ' + the_time + '\nTime Zone: ' + time_data['abbreviation']).get_message() + output['success'] = True + except: + output['success'] = False + + return output From 4a3da4091767a49b60f9cf2a6f27049d10283c53 Mon Sep 17 00:00:00 2001 From: Krizhan Mariampillai Date: Sun, 5 Jun 2016 15:16:16 -0400 Subject: [PATCH 4/4] Create test_time.py --- modules/tests/test_time.py | 8 ++++++++ 1 file changed, 8 insertions(+) create mode 100644 modules/tests/test_time.py diff --git a/modules/tests/test_time.py b/modules/tests/test_time.py new file mode 100644 index 00000000..fb2936ce --- /dev/null +++ b/modules/tests/test_time.py @@ -0,0 +1,8 @@ +import modules + +def test_time(): + + assert('time' == modules.process_query('time in new york')[0]) + assert('time' == modules.process_query('beijing time')[0]) + assert('time' == modules.process_query('time at paris')[0]) + assert('time' != modules.process_query('something random')[0])