
    Tњh]                         S r SSKJr  SSKJr  SSKJr  SSKJrJ	r	J
r
   " S S5      rS r " S	 S
\5      r\
R                  " \5      r\	R                  " \5      rg)aT  
OAuth2 Adapter for Battle.net

Resources:

* Battle.net OAuth2 documentation:
    https://dev.battle.net/docs/read/oauth
* Battle.net API documentation:
    https://dev.battle.net/io-docs
* Original announcement:
    https://us.battle.net/en/forum/topic/13979297799
* The Battle.net API forum:
    https://us.battle.net/en/forum/15051532/
    )settings)get_adapter)OAuth2Error)OAuth2AdapterOAuth2CallbackViewOAuth2LoginViewc                   0    \ rS rSrSrSrSrSrSrSr	Sr
S	rg
)Region   apaccneukrseatwus N)__name__
__module____qualname____firstlineno__APACCNEUKRSEATWUS__static_attributes__r       jD:\Anime\Ugyen\janka_web_project\venv\Lib\site-packages\allauth/socialaccount/providers/battlenet/views.pyr
   r
      s%    D	B	B	B
C	B	Br    r
   c                     U R                  5       nU R                  S:  d  SU;   aj  UR                  SS5      =(       d    UR                  SS5      nUR                  SS5      =(       d    UR                  SS5      n[        SU< S	U< S
35      eSU;  a  [        SU-  5      eU$ ! [         a    [        SU R                  -  5      ef = f)Nz$Invalid JSON from Battle.net API: %ri  error typeerror_descriptiondetailzBattle.net error: z ()idz$Invalid data from Battle.net API: %r)json
ValueErrorr   textstatus_codeget)responsedatar#   descs       r!   _check_errorsr2   %   s    T}} s"go "%=&")=xx+R0JDHHXr4JEFF
 4@DIJJK3  T@HMMRSSTs   B( (#Cc                   $  ^  \ rS rSrSrSr\R                  \R                  \R                  \R                  \R                  \R                  \R                  4r\S 5       r\S 5       r\S 5       r\S 5       r\S 5       rS	 rU 4S
 jrSrU =r$ )BattleNetOAuth2AdapterD   z
OAuth2 adapter for Battle.net
https://dev.battle.net/docs/read/oauth

Region is set to us by default, but can be overridden with the
`region` GET parameter when performing a login.
Can be any of eu, us, kr, sea, tw or cn
	battlenetc                 x   U R                   R                  R                  SS5      R                  5       nU[        R
                  :X  a  [        R                  $ XR                  ;   a  U$ [        [        S0 5      R                  S0 5      R                  SS5      nXR                  ;   a  U$ [        R                  $ )Nregionr$   SOCIALACCOUNT_PROVIDERSr6   REGIONr   )
requestGETr.   lowerr
   r   r   valid_regionsgetattrr   selfr8   s     r!   battlenet_region'BattleNetOAuth2Adapter.battlenet_regionZ   s     !!%%h399;VZZ99'''M H7<Sb!S4  	 '''Myyr    c                 F    U R                   nU[        R                  :X  a  gg)Nzhttps://oauth.battlenet.com.cnzhttps://oauth.battle.net)rB   r
   r   r@   s     r!   battlenet_base_url)BattleNetOAuth2Adapter.battlenet_base_urlp   s    &&VYY3)r    c                      U R                   S-   $ )Nz/tokenrE   rA   s    r!   access_token_url'BattleNetOAuth2Adapter.access_token_urlw   s    &&11r    c                      U R                   S-   $ )Nz
/authorizerH   rI   s    r!   authorize_url$BattleNetOAuth2Adapter.authorize_url{   s    &&55r    c                      U R                   S-   $ )Nz	/userinforH   rI   s    r!   profile_url"BattleNetOAuth2Adapter.profile_url   s    &&44r    c                     [        5       R                  5       R                  U R                  SSUR                  -  0S9n[        U5      nU R                  US'   U R                  5       R                  X5      $ )Nauthorizationz	Bearer %s)headersr8   )	r   get_requests_sessionr.   rP   tokenr2   rB   get_providersociallogin_from_response)rA   r;   apprV   kwargsr/   r0   s          r!   complete_login%BattleNetOAuth2Adapter.complete_login   su    M!!#S  (+*EF   	 X& ..X  "<<WKKr    c                    > [         [        U ]  X5      nUR                  R	                  SS5      R                  5       nU(       a  X@R                  ;   a  USU-  -  nU$ )Nr8   r$   z
?region=%s)superr4   get_callback_urlr<   r.   r=   r>   )rA   r;   rY   rr8   	__class__s        r!   r_   'BattleNetOAuth2Adapter.get_callback_url   sT    ($@N2.446f 2 22((Ar    r   )r   r   r   r   __doc__provider_idr
   r   r   r   r   r   r   r   r>   propertyrB   rE   rJ   rM   rP   r[   r_   r   __classcell__)ra   s   @r!   r4   r4   D   s     K 							

				M  * * * 2 2 6 6 5 5L  r    r4   N)rc   django.confr   allauth.socialaccount.adapterr   -allauth.socialaccount.providers.oauth2.clientr   ,allauth.socialaccount.providers.oauth2.viewsr   r   r   r
   r2   r4   adapter_viewoauth2_loginoauth2_callbackr   r    r!   <module>rn      sa    ! 5 E  >U] Up ++,BC$112HIr    