a
    `D                     @   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   Z	PROVIDERSgetprovider_idself r   k/var/www/html/Ranjet/env/lib/python3.9/site-packages/allauth/socialaccount/providers/trainingpeaks/views.pyget_settings   s    z'TrainingPeaksOAuth2Adapter.get_settingsc                 C   s   |   }|drdS dS )z+Return hostname depending on sandbox setingZUSE_PRODUCTIONztrainingpeaks.comzsandbox.trainingpeaks.com)r   r	   )r   settingsr   r   r   get_hostname   s    
z'TrainingPeaksOAuth2Adapter.get_hostnamec                 C   s   d|    d S )Nhttps://oauth.z/oauth/tokenr   r   r   r   r   access_token_url   s    z+TrainingPeaksOAuth2Adapter.access_token_urlc                 C   s   d|    d S )Nr   z/OAuth/Authorizer   r   r   r   r   authorize_url    s    z(TrainingPeaksOAuth2Adapter.authorize_urlc                 C   s   d|    d S )Nhttps://api.z/v1/athlete/profiler   r   r   r   r   profile_url$   s    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 )NZAuthorizationz
Bearer {0})headers)	formattokenrequestsr	   r   Zraise_for_statusjsonget_providerZsociallogin_from_response)r   requestZ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   Zscope_delimiterr$   r   r   r   r   r      s   



r   )r   Zallauth.socialaccountr   Z,allauth.socialaccount.providers.oauth2.viewsr   r   r   Zproviderr   r   Zadapter_viewZoauth2_loginZoauth2_callbackr   r   r   r   <module>   s   ,
