From 6b91c06a516d9e6b7445fead8b97b75b91a2e80e Mon Sep 17 00:00:00 2001 From: Jaisen Mathai Date: Thu, 8 Oct 2015 02:21:31 -0700 Subject: [PATCH] Add geolocation lookup --- elodie/geolocation.py | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 elodie/geolocation.py diff --git a/elodie/geolocation.py b/elodie/geolocation.py new file mode 100644 index 0000000..23c9aa5 --- /dev/null +++ b/elodie/geolocation.py @@ -0,0 +1,34 @@ +from os import path +from ConfigParser import ConfigParser +import requests +import sys + +def reverse_lookup(lat, lon): + if(lat is None or lon is None): + return None + + if not path.exists('./config.ini'): + return None + + config = ConfigParser() + config.read('./config.ini') + if('MapQuest' not in config.sections()): + return None + + key = config.get('MapQuest', 'key') + + r = requests.get('https://open.mapquestapi.com/nominatim/v1/reverse.php?key=%s&lat=%s&lon=%s&format=json' % (key, lat, lon)) + return r.json() + +def place_name(lat, lon): + geolocation_info = reverse_lookup(lat, lon) + if(geolocation_info is not None): + if('address' in geolocation_info): + address = geolocation_info['address'] + if('city' in address): + return address['city'] + elif('state' in address): + return address['state'] + elif('country' in address): + return address['country'] + return None