o
    h	                     @   s`   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 deZeeZeeZdS )	zP
Views for PatreonProvider
https://www.patreon.com/platform/documentation/oauth
    )get_adapter)OAuth2AdapterOAuth2CallbackViewOAuth2LoginView   )API_URLPROVIDER_ID
USE_API_V2c                   @   s4   e Zd ZeZdZdZdee	rdndZ
dd ZdS )	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              	   K   s   t   j| jdd|j id}| d}tr\z3|d d d d d }d	t|}t   j|dd|j id}	|	 d
 d d d }
|
|d< W n t	t
fy[   d |d< Y nw |  ||S )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_title r*   d/var/www/html/pos/venv/lib/python3.10/site-packages/allauth/socialaccount/providers/patreon/views.pycomplete_login   s8   z#PatreonOAuth2Adapter.complete_loginN)__name__
__module____qualname__r   provider_idaccess_token_urlauthorize_urlr   r   r	   r   r,   r*   r*   r*   r+   r
      s    r
   N)__doc__allauth.socialaccount.adapterr   ,allauth.socialaccount.providers.oauth2.viewsr   r   r   	constantsr   r   r	   r
   adapter_viewoauth2_loginoauth2_callbackr*   r*   r*   r+   <module>   s    
3