o
    gëfÁ  ã                   @   s¸   d Z ddlmZmZ zddlZW n ey/   zddlZW n ey,   ddlmZ Y nw Y nw dZde Z	de Z
de Zd	e Zg d
¢ZG dd„ deƒZG dd„ deƒZdeiZdS )zO
Mendeley OAuth support

No extra configurations are needed to make this work.
é    )ÚConsumerBasedOAuthÚOAuthBackendN)Ú
simplejsonzmendeley.comz"http://api.%s/oauth/request_token/z!http://api.%s/oauth/access_token/zhttp://api.%s/oauth/authorize/z!http://api.%s/oapi/profiles/info/©Ú
profile_idÚnameÚbioc                   @   s(   e Zd ZdZg d¢Zdd„ Zdd„ ZdS )ÚMendeleyBackendÚmendeley))r   r   )r   r   )r   r   c                 C   s   |d d S )NÚmainr   © )ÚselfÚdetailsÚresponser   r   úf/var/www/html/humari/django-venv/lib/python3.10/site-packages/social_auth/backends/contrib/mendeley.pyÚget_user_id"   s   zMendeleyBackend.get_user_idc                 C   s0   |d d }|d d }|d d }|||dœS )z)Return user details from Mendeley accountr   r   r   r   r   r   )r   r   r   r   r   r   r   r   Úget_user_details%   s   þz MendeleyBackend.get_user_detailsN)Ú__name__Ú
__module__Ú__qualname__r   Ú
EXTRA_DATAr   r   r   r   r   r   r	      s
    r	   c                   @   s8   e Zd ZdZeZeZeZ	e
ZdZdZdZdZdd„ ZdS )	ÚMendeleyAuthz'Mendeley OAuth authentication mechanismÚMENDELEY_CONSUMER_KEYÚMENDELEY_CONSUMER_SECRETÚMENDELEY_SCOPEú+c                 O   s6   t d }|  ||¡}t |  |¡¡}| |d ¡ |S )zReturn user data providedzme/r   )ÚMENDELEY_CHECK_AUTHÚoauth_requestr   ÚloadsÚfetch_responseÚupdate)r   Úaccess_tokenÚargsÚkwargsÚurlÚrequestÚdatar   r   r   Ú	user_data:   s
   zMendeleyAuth.user_dataN)r   r   r   Ú__doc__ÚMENDELEY_AUTHORIZATION_URLÚAUTHORIZATION_URLÚMENDELEY_REQUEST_TOKEN_URLÚREQUEST_TOKEN_URLÚMENDELEY_ACCESS_TOKEN_URLÚACCESS_TOKEN_URLr	   ÚAUTH_BACKENDÚSETTINGS_KEY_NAMEÚSETTINGS_SECRET_NAMEÚSCOPE_VAR_NAMEÚSCOPE_SEPARATORr'   r   r   r   r   r   /   s    r   r
   )r(   Úsocial_auth.backendsr   r   Újsonr   ÚImportErrorÚdjango.utilsÚMENDELEY_SERVERr+   r-   r)   r   ÚMENDELEY_FIELD_SELECTORSr	   r   ÚBACKENDSr   r   r   r   Ú<module>   s8    ÿ€ýÿÿÿÿ