# coding: utf-8

from allauth.socialaccount.models import SocialAccount
from functools import reduce
from math import cos, radians, sqrt

def choices_length (choices):
    return reduce (lambda m, choice: max (m, len (choice[0])), choices, 0)

def en_scolarite(user):
    return user.profil.en_scolarite

def approximate_distance(a, b):
    lat_a = radians(a.y)
    lat_b = radians(b.y)
    dlon = radians(b.x - a.x)
    dlon = dlon * cos((lat_a + lat_b)/2)
    dlat = (lat_a - lat_b)
    distance = 6371000 * sqrt(dlon*dlon + dlat*dlat)
    return distance