U
    [!c                     @   sB   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 )    )ProviderAccount)OAuth2Providerc                       s,   e Zd Zdd Zdd Z fddZ  ZS )StravaAccountc                 C   s    | j jd}|rd|S d S )Nidz"https://www.strava.com/athletes/{})account
extra_datagetformat)selfr    r   s/var/www/html/crackeverytest/cet_env/lib/python3.8/site-packages/allauth/socialaccount/providers/strava/provider.pyget_profile_url   s    
zStravaAccount.get_profile_urlc                 C   s"   | j jd}|r|dkr|S d S )NZprofilezavatar/athlete/large.png)r   r   r   )r
   Zavatarr   r   r   get_avatar_url   s    zStravaAccount.get_avatar_urlc                    s   t t|  }| jjd|S )Nname)superr   to_strr   r   r   )r
   r   	__class__r   r   r      s    zStravaAccount.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 fddZdd Z	  Z
S )	StravaProviderZstravaZStravac                 C   s
   | dS )Nr   )r   )r
   datar   r   r   extract_uid   s    zStravaProvider.extract_uidc                    sd   t t| |}|d}|d}ddd ||fD }|j|d|d||| d |S )	N	firstnamelastname c                 s   s   | ]}|r|V  qd S )Nr   ).0partr   r   r   	<genexpr>#   s      z7StravaProvider.extract_common_fields.<locals>.<genexpr>usernameemail)r!   r"   Z
first_name	last_namer   )r   r   extract_common_fieldsr   joinupdatestrip)r
   r   Zextra_commonr   r   r   r   r   r   r$      s    

z$StravaProvider.extract_common_fieldsc                 C   s   dgS )Nzread,activity:readr   )r
   r   r   r   get_default_scope-   s    z StravaProvider.get_default_scope)r   r   r   r   r   r   Zaccount_classr   r$   r(   r   r   r   r   r   r      s   r   N)Z$allauth.socialaccount.providers.baser   Z/allauth.socialaccount.providers.oauth2.providerr   r   r   Zprovider_classesr   r   r   r   <module>   s   