o
    gfa
                     @   s   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 dlmZm	Z	 d dl
mZmZ dZde Zde Zd	e ZG d
d de	ZG dd deZdeiZdS )    )RequesturlopenN)
simplejson)
BaseOAuth2OAuthBackend)AuthCanceledAuthUnknownErrorzhttps://jawbone.com/z%s/auth/oauth2/authz%s/auth/oauth2/tokenz%s/nudge/api/users/@mec                   @   s    e Zd ZdZdd Zdd ZdS )JawboneBackendjawbonec                 C   s   |d d S )Ndataxid )selfdetailsresponser   r   e/var/www/html/humari/django-venv/lib/python3.10/site-packages/social_auth/backends/contrib/jawbone.pyget_user_id   s   zJawboneBackend.get_user_idc                 C   s|   |d  dd}|d  dd}|d  dd}|d  dd}|d  dd}|d  dd}|d	 | ||||||d
S )z(Return user details from Jawbone accountr   first lastdobgenderheightweight )username
first_name	last_namer   r   r   r   )get)r   r   	firstNamelastNamer   r   r   r   r   r   r   get_user_details   s   
zJawboneBackend.get_user_detailsN)__name__
__module____qualname__namer   r!   r   r   r   r   r	      s    r	   c                       sL   e Zd ZdZeZeZeZ	e
ZdZdZdZdZdZdd Z fd	d
Z  ZS )JawboneAuthzJawbone OAuth mechanismJAWBONE_CONSUMER_KEYJAWBONE_CONSUMER_SECRETr   JAWBONE_EXTENDED_PERMISSIONSFc                 O   sB   t }dd| i}t||d}ztt|W S  ty    Y dS w )zLoads user data from serviceAuthorizationzBearer )headersN)JAWBONE_CHECK_AUTHr   r   loadr   
ValueError)r   access_tokenargskwargsurlr+   requestr   r   r   	user_data;   s   zJawboneAuth.user_datac                    sB   | j jdd}|r|dkrt| t| d| tt| |S )Nerrorr   access_deniedzJawbone error was %s)r3   GETr   r   r   superr&   process_error)r   r   r5   	__class__r   r   r9   E   s   zJawboneAuth.process_error)r"   r#   r$   __doc__JAWBONE_AUTHORIZATION_URLAUTHORIZATION_URLJAWBONE_ACCESS_TOKEN_URLACCESS_TOKEN_URLJAWBONE_SERVER
SERVER_URLr	   AUTH_BACKENDSETTINGS_KEY_NAMESETTINGS_SECRET_NAMESCOPE_SEPARATORSCOPE_VAR_NAMEREDIRECT_STATEr4   r9   __classcell__r   r   r:   r   r&   .   s    
r&   r
   )urllib2r   r   jsonr   ImportErrordjango.utilssocial_auth.backendsr   r   social_auth.exceptionsr   r   rA   r=   r?   r,   r	   r&   BACKENDSr   r   r   r   <module>   s*    #