o
    ˷eh                     @   sD   d dl Z d dlmZ d dlmZmZ ddlmZ G dd deZdS )    N)app_settings)OAuth2ClientOAuth2Error   )UntappdProviderc                   @   s   e Zd ZdZdd ZdS )UntappdOAuth2Clientz
    Custom client because Untappd:
        * uses redirect_url instead of redirect_uri
        * nests access_token inside an extra 'response' object
    c           	      C   s   | j | jdd| j|d}d }| | | j}| jdkr|}d }tjt	j
i }d|ddi}tj| j||||d}d }|jd	krG| d
 }|rMd|vrTtd|j |S )Nauthorization_codecode)	client_idredirect_url
grant_typeresponse_typeclient_secretr	   GETz
User-Agent
USER_AGENTzdjango-allauth)paramsdataheaders   responseaccess_tokenz!Error retrieving access token: %s)consumer_keycallback_urlconsumer_secret_strip_empty_keysaccess_token_urlaccess_token_methodr   	PROVIDERSgetr   idrequestsrequeststatus_codejsonr   content)	selfr	   r   r   urlsettingsr   respr    r)   e/var/www/ideatree/venv/lib/python3.10/site-packages/allauth/socialaccount/providers/untappd/client.pyget_access_token   s8   


z$UntappdOAuth2Client.get_access_tokenN)__name__
__module____qualname____doc__r+   r)   r)   r)   r*   r      s    r   )	r    allauth.socialaccountr   -allauth.socialaccount.providers.oauth2.clientr   r   providerr   r   r)   r)   r)   r*   <module>   s
    