a
    Qx_                     @   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   g/var/www/html/Ranjet/env/lib/python3.9/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>#       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   