From 8a7b583154ff8f6bca17cafcbe79d35944e500d5 Mon Sep 17 00:00:00 2001 From: evgeniy-st Date: Tue, 17 Dec 2019 16:49:56 +0300 Subject: [PATCH] added country_name to endpoint 'determine-location' --- apps/main/methods.py | 7 +++++++ apps/main/views/common.py | 9 +++++---- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/apps/main/methods.py b/apps/main/methods.py index f19d595a..14583660 100644 --- a/apps/main/methods.py +++ b/apps/main/methods.py @@ -37,6 +37,13 @@ def determine_country_code(request): return country_code.lower() +def determine_country_name(request): + """Determine country name.""" + META = request.META + return META.get('X-GeoIP-Country-Name', + META.get('HTTP_X_GEOIP_COUNTRY_NAME')) + + def determine_coordinates(request): META = request.META longitude = META.get('X-GeoIP-Longitude', diff --git a/apps/main/views/common.py b/apps/main/views/common.py index 20033661..becf2869 100644 --- a/apps/main/views/common.py +++ b/apps/main/views/common.py @@ -85,8 +85,9 @@ class DetermineLocation(generics.GenericAPIView): def get(self, request, *args, **kwargs): longitude, latitude = methods.determine_coordinates(request) city = methods.determine_user_city(request) - if longitude and latitude and city: - return Response(data={'latitude': latitude, 'longitude': longitude, 'city': city}) - else: - raise Http404 + country_name = methods.determine_country_name(request) + if longitude and latitude and city and country_name: + return Response(data={'latitude': latitude, 'longitude': longitude, + 'city': city, 'country_name': country_name}) + raise Http404