From 31db4e661a783b1b09a4a529ea965d0ee4903303 Mon Sep 17 00:00:00 2001 From: Jaisen Mathai Date: Wed, 15 Mar 2017 22:43:21 -0700 Subject: [PATCH] Return dictionary with "Unknown Location" instead of string when location is not found #106 (#201) --- elodie/geolocation.py | 2 +- elodie/tests/geolocation_test.py | 8 ++++++++ 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/elodie/geolocation.py b/elodie/geolocation.py index 47d863f..1f63718 100644 --- a/elodie/geolocation.py +++ b/elodie/geolocation.py @@ -144,7 +144,7 @@ def place_name(lat, lon): lookup_place_name['default'] = address[loc] if('default' not in lookup_place_name): - lookup_place_name = 'Unknown Location' + lookup_place_name = {'default': 'Unknown Location'} if(lookup_place_name is not {}): db.add_location(lat, lon, lookup_place_name) diff --git a/elodie/tests/geolocation_test.py b/elodie/tests/geolocation_test.py index d6f3e63..c97e757 100644 --- a/elodie/tests/geolocation_test.py +++ b/elodie/tests/geolocation_test.py @@ -139,6 +139,14 @@ def test_place_name_cached(): assert place_name['city'] == 'UNITTEST', place_name +def test_place_name_no_default(): + # See gh-160 for backwards compatability needed when a string is stored instead of a dict + helper.reset_dbs() + place_name = geolocation.place_name(123456.000, 123456.000) + helper.restore_dbs() + + assert place_name['default'] == 'Unknown Location', place_name + @mock.patch('elodie.geolocation.__KEY__', 'invalid_key') def test_lookup_with_invalid_key(): res = geolocation.lookup(location='Sunnyvale, CA')