o
    ˷eD                     @   s\   d dl Z d dlmZ d dlmZmZmZ ddlmZ G dd deZ	e
e	Ze
e	ZdS )    N)app_settings)OAuth2AdapterOAuth2CallbackViewOAuth2LoginView   )TrainingPeaksProviderc                   @   s^   e Zd ZejZdd Zdd Zedd Z	edd Z
ed	d
 Zedd ZdZdd ZdS )TrainingPeaksOAuth2Adapterc                 C   s   t j| ji S )zProvider settings)r   	PROVIDERSgetprovider_idself r   j/var/www/ideatree/venv/lib/python3.10/site-packages/allauth/socialaccount/providers/trainingpeaks/views.pyget_settings      z'TrainingPeaksOAuth2Adapter.get_settingsc                 C   s   |   }|drdS dS )z+Return hostname depending on sandbox setingUSE_PRODUCTIONztrainingpeaks.comzsandbox.trainingpeaks.com)r   r
   )r   settingsr   r   r   get_hostname   s   
z'TrainingPeaksOAuth2Adapter.get_hostnamec                 C      d|    d S )Nhttps://oauth.z/oauth/tokenr   r   r   r   r   access_token_url   r   z+TrainingPeaksOAuth2Adapter.access_token_urlc                 C   r   )Nr   z/OAuth/Authorizer   r   r   r   r   authorize_url    r   z(TrainingPeaksOAuth2Adapter.authorize_urlc                 C   r   )Nhttps://api.z/v1/athlete/profiler   r   r   r   r   profile_url$   r   z&TrainingPeaksOAuth2Adapter.profile_urlc                 C   s   d|    S )zReturn https://api.hostname.tldr   r   r   r   r   r   api_hostname(   s   z'TrainingPeaksOAuth2Adapter.api_hostname c                 K   s@   dd |ji}tj| j|d}|  | }|  ||S )NAuthorizationz
Bearer {0})headers)	formattokenrequestsr
   r   raise_for_statusjsonget_providersociallogin_from_response)r   requestappr!   kwargsr   response
extra_datar   r   r   complete_login1   s
   z)TrainingPeaksOAuth2Adapter.complete_loginN)__name__
__module____qualname__r   idr   r   r   propertyr   r   r   r   scope_delimiterr,   r   r   r   r   r      s    



r   )r"   allauth.socialaccountr   ,allauth.socialaccount.providers.oauth2.viewsr   r   r   providerr   r   adapter_viewoauth2_loginoauth2_callbackr   r   r   r   <module>   s    
,