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 )	    )app_settings)ProviderAccount)OAuthProviderc                       s,   e Zd Zdd Zdd Z fddZ  ZS )LinkedInAccountc                 C   s   | j jdS )Npublic-profile-url)account
extra_datagetself r   i/var/www/html/Ranjet/env/lib/python3.9/site-packages/allauth/socialaccount/providers/linkedin/provider.pyget_profile_url   s    zLinkedInAccount.get_profile_urlc                 C   sT   z2| j jdi dr0| j jdi dW S W n tyD   Y n0 | j jdS )Nzpicture-urlspicture-url)r   r   r	   	Exceptionr
   r   r   r   get_avatar_url
   s    
zLinkedInAccount.get_avatar_urlc                    sV   t t|  }| jjd|}| jjdd }| jjdd }|rR|rR|d | }|S )Nname
first-name	last-name )superr   to_strr   r   r	   )r   Zdfltr   
first_name	last_name	__class__r   r   r      s    zLinkedInAccount.to_str)__name__
__module____qualname__r   r   r   __classcell__r   r   r   r   r      s   r   c                   @   s8   e Zd ZdZdZeZdd Zdd Zdd Z	d	d
 Z
dS )LinkedInProviderZlinkedinZLinkedInc                 C   s   g }t jr|d |S )NZr_emailaddress)r   ZQUERY_EMAILappend)r   Zscoper   r   r   get_default_scope&   s    
z"LinkedInProvider.get_default_scopec                 C   s   g d}|   d|}|S )N)idr   r   email-addressr   zpicture-urls::(original)r   ZPROFILE_FIELDS)Zget_settingsr	   )r   Zdefault_fieldsfieldsr   r   r   get_profile_fields,   s    
z#LinkedInProvider.get_profile_fieldsc                 C   s   |d S )Nr#   r   r   datar   r   r   extract_uid:   s    zLinkedInProvider.extract_uidc                 C   s    t |d|d|ddS )Nr$   r   r   )emailr   r   )dictr	   r'   r   r   r   extract_common_fields=   s
    z&LinkedInProvider.extract_common_fieldsN)r   r   r   r#   r   r   Zaccount_classr"   r&   r)   r,   r   r   r   r   r    !   s   r    N)	Zallauth.socialaccountr   Z$allauth.socialaccount.providers.baser   Z.allauth.socialaccount.providers.oauth.providerr   r   r    Zprovider_classesr   r   r   r   <module>   s
   $