
    f                     n    d Z ddlmZ ddlmZ ddlmZ ddlmZm	Z	  G d de      Z
 G d	 d
e      ZegZy)z
Provider for Patreon
    )ProviderAccount)OAuth2Provider)PatreonOAuth2Adapter   )PROVIDER_ID
USE_API_V2c                   $     e Zd Zd Z fdZ xZS )PatreonAccountc                 j    | j                   j                  j                  d      j                  d      S )N
attributes	thumb_url)account
extra_datagetselfs    k/var/www/cs2snipe.com/venv/lib/python3.12/site-packages/allauth/socialaccount/providers/patreon/provider.pyget_avatar_urlzPatreonAccount.get_avatar_url   s(    ||&&**<8<<[II    c                     | j                   j                  j                  di       j                  d      }|xs t        |          S )Nr   email)r   r   r   superto_str)r   r   	__class__s     r   r   zPatreonAccount.to_str   s<    ''++L"=AA'J(((r   )__name__
__module____qualname__r   r   __classcell__)r   s   @r   r
   r
      s    J) )r   r
   c                   .    e Zd ZeZdZeZeZ	d Z
d Zd Zy)PatreonProviderPatreonc                     t         rg dS g dS )N)identityzidentity[email]	campaignszcampaigns.members)zpledges-to-meuserszmy-campaign)r   r   s    r   get_default_scopez!PatreonProvider.get_default_scope   s      98r   c                 $    |j                  d      S )Nidr   )r   datas     r   extract_uidzPatreonProvider.extract_uid%   s    xx~r   c                     |d   }|j                  d      |j                  d      |j                  d      |j                  d      dS )Nr   r   	full_name
first_name	last_name)r   fullnamer.   r/   r)   )r   r*   detailss      r   extract_common_fieldsz%PatreonProvider.extract_common_fields(   sF    |$[[)K0!++l3 [1	
 	
r   N)r   r   r   r   r(   namer
   account_classr   oauth2_adapter_classr&   r+   r2    r   r   r    r       s&    	BD"M/9
r   r    N)__doc__$allauth.socialaccount.providers.baser   /allauth.socialaccount.providers.oauth2.providerr   -allauth.socialaccount.providers.patreon.viewsr   	constantsr   r   r
   r    provider_classesr6   r   r   <module>r=      s<    A J N .)_ )
n 
: $$ r   