33 lines
1.0 KiB
Python
33 lines
1.0 KiB
Python
from django.utils.timezone import now
|
|
import googlemaps
|
|
from manage_subscriptions.models import PrincipalSubscription, SubscriptionStatus
|
|
from django.conf import settings
|
|
|
|
|
|
API_KEY = settings.GOOGLE_MAPS_API_KEY
|
|
gmaps = googlemaps.Client(key=API_KEY)
|
|
|
|
|
|
def get_location_info(latitude, longitude):
|
|
reverse_geocode_result = gmaps.reverse_geocode((latitude, longitude))
|
|
|
|
if reverse_geocode_result:
|
|
location = reverse_geocode_result[0]
|
|
city = None
|
|
state = None
|
|
country = None
|
|
|
|
for component in location.get("address_components", []):
|
|
types = component.get("types", [])
|
|
print("types: ", types)
|
|
if "locality" in types:
|
|
city = component.get("long_name")
|
|
elif "administrative_area_level_1" in types:
|
|
state = component.get("long_name")
|
|
elif "country" in types:
|
|
country = component.get("long_name")
|
|
|
|
return {"city": city, "state": state, "country": country}
|
|
else:
|
|
return {}
|