
    )Jf                     b    d dl m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dS )	    )HTTPBasicAuth)	parse_qsl)	urlencode)get_adapter)OAuth2ClientOAuth2Errorc                       e Zd Zd ZddZdS )NotionOAuth2Clientc                 n    | j         | j        ddd}| j        r
| j        |d<   |dt          |          S )Ncodeuser)	client_idscoperesponse_typeownerstate?)consumer_keyr   r   r   )selfauthorization_urlextra_paramsparamss       p/home/alex/cs2snipeproduction/venv/lib/python3.11/site-packages/allauth/socialaccount/providers/notion/client.pyget_redirect_urlz#NotionOAuth2Client.get_redirect_url   sR    *Z#	
 
 : 	)"jF7O+++Yv->->->??    Nc                    t                                                                          | j        | j        t          | j        | j                  |dd| j                  }d }|j	        dv rG	 |
                                }n1# t          $ r$ t          t          |j                            }Y nw xY w|rd|vrt          d|j        z            |S )Nauthorization_code)r   
grant_type)authjsonheaders)      access_tokenz!Error retrieving access token: %s)r   get_requests_sessionrequestaccess_token_methodaccess_token_urlr   r   consumer_secretr!   status_coder    
ValueErrordictr   textr   content)r   r   pkce_code_verifierrespr$   s        r   get_access_tokenz#NotionOAuth2Client.get_access_token   s    MM!!##W(%"4#4d6JKK"2FGG    	 z)):#yy{{ : : :#Idi$8$899: 	R~\AAADLPQQQs   /B +B21B2)N)__name__
__module____qualname__r   r1    r   r   r
   r
      s:        	@ 	@ 	@     r   r
   N)requests.authr   urllib.parser   django.utils.httpr   allauth.socialaccount.adapterr   -allauth.socialaccount.providers.oauth2.clientr   r   r
   r5   r   r   <module>r;      s    ' ' ' ' ' ' " " " " " " ' ' ' ' ' ' 5 5 5 5 5 5                          r   