a
    ‹Qx_ú  ã                   @   sN   d dl mZ d dlmZ d dlmZ G dd„ deƒZG dd„ deƒZegZdS )	é    )Úunicode_literals)ÚProviderAccount)ÚOAuth2Providerc                       s$   e Zd Zdd„ Z‡ fdd„Z‡  ZS )ÚAzureAccountc                 C   s   | j jd S )NÚemail)ÚaccountÚ
extra_data©Úself© r   úf/var/www/html/Ranjet/env/lib/python3.9/site-packages/allauth/socialaccount/providers/azure/provider.pyÚget_username   s    zAzureAccount.get_usernamec                    sB   d  | jj dd¡| jj dd¡¡}| ¡ dkr4|S tt| ƒ ¡ S )Nz{0} {1}Ú
first_nameÚ Ú	last_name)Úformatr   r   ÚgetÚstripÚsuperr   Úto_str)r
   Úname©Ú	__class__r   r   r      s    þzAzureAccount.to_str)Ú__name__Ú
__module__Ú__qualname__r   r   Ú__classcell__r   r   r   r   r      s   r   c                   @   s4   e Zd ZedƒZdZeZdd„ Zdd„ Z	dd„ Z
d	S )
ÚAzureProviderZazureZAzurec                 C   s   ddgS )z—
        Doc on scopes available at
        https://docs.microsoft.com/en-us/azure/active-directory/develop/active-directory-v2-scopes  # noqa
        z	User.ReadZopenidr   r	   r   r   r   Úget_default_scope   s    zAzureProvider.get_default_scopec                 C   s   t |d ƒS )NÚid)Ústr)r
   Údatar   r   r   Úextract_uid%   s    zAzureProvider.extract_uidc                 C   s<   |  d¡}|s d|v r |  d¡}t|||  d¡|  d¡dS )NZmailZuserPrincipalNameZsurnameZ	givenName)r   Úusernamer   r   )r   Údict)r
   r!   r   r   r   r   Úextract_common_fields(   s    

üz#AzureProvider.extract_common_fieldsN)r   r   r   r    r   r   r   Zaccount_classr   r"   r%   r   r   r   r   r      s   r   N)	Ú
__future__r   Z$allauth.socialaccount.providers.baser   Z/allauth.socialaccount.providers.oauth2.providerr   r   r   Zprovider_classesr   r   r   r   Ú<module>   s
   