
    f	                         d Z ddlmZ ddlmZmZmZ ddlmZm	Z	m
Z
  G d de      Z ej                  e      Z ej                  e      Zy)	zP
Views for PatreonProvider
https://www.patreon.com/platform/documentation/oauth
    )get_adapter)OAuth2AdapterOAuth2CallbackViewOAuth2LoginView   )API_URLPROVIDER_ID
USE_API_V2c                   J    e Zd ZeZdZdZdj                  ee	rdnd      Z
d Zy)PatreonOAuth2Adapterz(https://www.patreon.com/api/oauth2/tokenz(https://www.patreon.com/oauth2/authorizez{0}/{1}zidentity?include=memberships&fields%5Buser%5D=email,first_name,full_name,image_url,last_name,social_connections,thumb_url,url,vanitycurrent_userc                 F   t               j                         j                  | j                  dd|j                  z   i      }|j                         j                  d      }t        r	 |d   d   d   d   d   }d	j                  t        |      }t               j                         j                  |dd|j                  z   i      }	|	j                         d
   d   d   d   }
|
|d<   | j                         j                  ||      S # t        t        f$ r d |d<   Y 6w xY w)NAuthorizationzBearer )headersdatarelationshipsmembershipsr   idzG{0}/members/{1}?include=currently_entitled_tiers&fields%5Btier%5D=titleincluded
attributestitlepledge_level)r   get_requests_sessiongetprofile_urltokenjsonr
   formatr   KeyError
IndexErrorget_providersociallogin_from_response)selfrequestappr   kwargsresp
extra_data	member_id
member_urlresp_memberpledge_titles              h/var/www/cs2snipe.com/venv/lib/python3.12/site-packages/allauth/socialaccount/providers/patreon/views.pycomplete_loginz#PatreonOAuth2Adapter.complete_login   s9   M!!#S  ()ekk*AB   	 YY[__V,
&7FvNqQRVW	F&), 
  M))+S"!0)ekk2I J     +//1*=a@NwW-9
>*
   "<<WjQQ	 j) -1
>*s   )B D	 	D D N)__name__
__module____qualname__r	   provider_idaccess_token_urlauthorize_urlr   r   r
   r   r.        r-   r   r      s:    KA>M""
 #  	K!Rr6   r   N)__doc__allauth.socialaccount.adapterr   ,allauth.socialaccount.providers.oauth2.viewsr   r   r   	constantsr   r	   r
   r   adapter_viewoauth2_loginoauth2_callbackr5   r6   r-   <module>r>      sY   
 6  8 70R= 0Rf ,++,@A1$112FGr6   