
    f                     Z    d dl mZ d dlmZ d dlmZ  G d de      Z G d de      ZegZy)	    )ProviderAccount)OAuth2Provider)StravaOAuth2Adapterc                       e Zd Zd Zd Zy)StravaAccountc                 t    | j                   j                  j                  d      }|rdj                  |      S y )Nidz"https://www.strava.com/athletes/{})account
extra_datagetformat)selfr	   s     j/var/www/cs2snipe.com/venv/lib/python3.12/site-packages/allauth/socialaccount/providers/strava/provider.pyget_profile_urlzStravaAccount.get_profile_url   s3    \\$$((.7>>rBB    c                 `    | j                   j                  j                  d      }|r|dk7  r|S y )Nprofilezavatar/athlete/large.png)r
   r   r   )r   avatars     r   get_avatar_urlzStravaAccount.get_avatar_url   s/    ((,,Y7f ::Mr   N)__name__
__module____qualname__r   r    r   r   r   r      s    r   r   c                   :     e Zd ZdZdZeZeZd Z	 fdZ
d Z xZS )StravaProviderstravaStravac                     t        |d         S )Nr	   )str)r   datas     r   extract_uidzStravaProvider.extract_uid   s    4:r   c                 *   t         t        |   |      }|j                  d      }|j                  d      }dj	                  d ||fD              }|j                  |j                  d      |j                  d      |||j                                |S )N	firstnamelastname c              3   &   K   | ]	  }|s|  y w)Nr   ).0parts     r   	<genexpr>z7StravaProvider.extract_common_fields.<locals>.<genexpr>!   s     G$Gs   usernameemail)r*   r+   
first_name	last_namename)superr   extract_common_fieldsr   joinupdatestrip)r   r    extra_commonr#   r$   r.   	__class__s         r   r0   z$StravaProvider.extract_common_fields   s    ^THNHH[)	88J'xxG)X)>GGXXj)((7#  	 	
 r   c                     dgS )Nzread,activity:readr   )r   s    r   get_default_scopez StravaProvider.get_default_scope+   s    $%%r   )r   r   r   r	   r.   r   account_classr   oauth2_adapter_classr!   r0   r7   __classcell__)r5   s   @r   r   r      s'    	BD!M.&r   r   N)	$allauth.socialaccount.providers.baser   /allauth.socialaccount.providers.oauth2.providerr   ,allauth.socialaccount.providers.strava.viewsr   r   r   provider_classesr   r   r   <module>r?      s1    @ J LO &^ &6 ## r   