
    qh                     F    S SK r SSKJr  SSKJr  SSKJr   " S S\5      rg)	    N   )
AuthFailed)handle_http_errors   )
BaseOAuth2c                   |    \ rS rSrSrSrSrSrSr\S-   r	Sr
S	rS	rS
r/ SQrSS jrS r\S 5       rS rS rS rSrg)UntappdOAuth2   z%Untappd OAuth2 authentication backenduntappdz'https://untappd.com/oauth/authenticate/z$https://untappd.com/oauth/authorize/zhttps://api.untappd.comz/v4/user/info/GETFT))idr   )bior   )date_joinedr   )locationr   )urlr   )user_avatarr   )user_avatar_hdr   )user_cover_photor   Nc                 b    U R                  5       u  p#UU R                  5       U R                  S.$ )N)	client_idredirect_urlresponse_type)get_key_and_secretget_redirect_uriRESPONSE_TYPE)selfstater   client_secrets       N/var/www/html/env/lib/python3.13/site-packages/social_core/backends/untappd.pyauth_paramsUntappdOAuth2.auth_params   s5    #'#:#:#< 	" 113!//
 	
    c                     UR                  S0 5      R                  S5      nUb0  U[        R                  R                  :w  a  [	        XS   S   5      egg)zJ
All errors from Untappd are contained in the 'meta' key of the
response.
meta	http_codeNerror_detail)getrequestscodesokr   )r   dataresponse_codes      r   process_errorUntappdOAuth2.process_error'   sS    
 ,00=$(..:K:K)KT<#?@@ *L$r"   c           
      p   U R                  5       u  p4U R                  R                  S5      nU R                  U R                  5        U R	                  U R                  5       U R                  SUUUU R                  5       S.S9nU R                  U5        U R                  " US   S   /UQ7SUS   0UD6$ )z2Completes login process, must return user instancecode)r   r0   r   r   r   )methodparamsresponseaccess_token)	r   r+   r'   r-   request_access_tokenaccess_token_urlACCESS_TOKEN_METHODr   do_auth)r   argskwargsr   r   r0   r3   s          r   auth_completeUntappdOAuth2.auth_complete0   s     $(#:#:#< 	yy}}V$499% ,,!!#++!'&!. $ 5 5 7 - 

 	8$ ||Z 0
 
j)
 	
 	
r"   c                 6   US   nUR                  UR                  S5      UR                  S0 5      R                  SS5      UR                  S5      UR                  S5      SR                  UR                  S5      UR                  S5      /5      S	.5        U$ )
z+Return user details from an Untappd accountuser	user_namesettingsemail_address 
first_name	last_name )usernameemailrC   rD   fullname)updater'   join)r   r3   	user_datas      r   get_user_detailsUntappdOAuth2.get_user_detailsQ   s     V$	 	%MM+6"z26::?BO'mmL9&]];7HH]]<0)--2LM
	
 r"   c                 >    US   R                  U R                  5      $ )zK
Return a unique ID for the current user, by default from
server response.
r>   )r'   ID_KEY)r   detailsr3   s      r   get_user_idUntappdOAuth2.get_user_idd   s    
 ##DKK00r"   c                 h    U R                  U R                  USS.S9nU R                  U5        US   $ )zLoads user data from servicetrue)r4   compact)r2   r3   )get_jsonUSER_INFO_URLr-   )r   r4   r9   r:   r3   s        r   rK   UntappdOAuth2.user_datak   sC    ==QW'X ! 
 	8$ 
##r"    )N)__name__
__module____qualname____firstlineno____doc__nameAUTHORIZATION_URLACCESS_TOKEN_URLBASE_API_URLrW   r7   STATE_PARAMETERREDIRECT_STATESEND_USER_AGENT
EXTRA_DATAr    r-   r   r;   rL   rQ   rK   __static_attributes__rY   r"   r   r	   r	      sq    /DA=,L #33MONO	J
A 
 
@&1$r"   r	   )r(   
exceptionsr   utilsr   oauthr   r	   rY   r"   r   <module>rk      s     # & k$J k$r"   