ó
    q™hƒ  ã                   ó>   • S r SSKrSSKJr  SSKJr   " S S\5      rg)	zA
Created on May 13, 2014

@author: Yong Zhang (zyfyfe@gmail.com)
é    Né   )Úparse_qsé   )Ú
BaseOAuth2c                   óP   • \ rS rSrSrSrSrSrSrSr	Sr
/ SQrS	 rS
 rS rS rSrg)ÚQQOAuth2é   ÚqqÚopenidz'https://graph.qq.com/oauth2.0/authorizez#https://graph.qq.com/oauth2.0/tokenz https://graph.qq.com/oauth2.0/meF))ÚnicknameÚusername)Úfigureurl_qq_1Úprofile_image_url)Úgenderr   c                 óÌ   • U R                  SS5      (       a  UR                  SS5      nOUR                  SS5      nU R                  UR                  SS5      S9u  p4nUUUUS.$ )zœ
Return user detail from QQ account sometimes nickname will duplicate
with another qq account, to avoid this issue it's possible to use
openid as username.
ÚUSE_OPENID_AS_USERNAMEFr   Ú r   )Ú
first_name)r   Úfullnamer   Ú	last_name)ÚsettingÚgetÚget_user_names)ÚselfÚresponser   r   r   r   s         ÚI/var/www/html/env/lib/python3.13/site-packages/social_core/backends/qq.pyÚget_user_detailsÚQQOAuth2.get_user_details   sv   € ð <‰<Ð0°%×8Ñ8Ø—|‘| H¨bÓ1‰Hà—|‘| J°Ó3ˆHà*.×*=Ñ*=Ø—|‘| J°Ó3ð +>ð +
Ñ'ˆ˜ið
 !Ø Ø$Ø"ñ	
ð 	
ó    c                 óª   • U R                  U R                  SU0S9nUR                  R                  5       n[        R
                  " USS 5      nUS   $ )NÚaccess_token©Úparamsé
   éýÿÿÿr   )ÚrequestÚ
OPENID_URLÚcontentÚdecodeÚjsonÚloads)r   r!   r   r(   Údatas        r   Ú
get_openidÚQQOAuth2.get_openid1   sO   € Ø—<‘< §¡¸ÈÐ8V<ÐWˆØ×"Ñ"×)Ñ)Ó+ˆÜzŠz˜' " R˜.Ó)ˆØH‰~Ðr   c                 óv   • U R                  U5      nU R                  SUU R                  S5      US.S9nXES'   U$ )Nz'https://graph.qq.com/user/get_user_infoÚKEY)r!   Úoauth_consumer_keyr   r"   r   )r-   Úget_jsonr   )r   r!   ÚargsÚkwargsr   r   s         r   Ú	user_dataÚQQOAuth2.user_data7   sL   € Ø—‘ Ó.ˆØ—=‘=Ø5à ,Ø&*§l¡l°5Ó&9Ø ñð !ð 
ˆð $ÑØˆr   c                 óX   • U R                   " U/UQ70 UD6n[        UR                  5      $ )N)r&   r   r(   )r   Úurlr,   r3   r4   r   s         r   Úrequest_access_tokenÚQQOAuth2.request_access_tokenD   s+   € Ø—<’< Ð5 dÒ5¨fÑ5ˆÜ˜×(Ñ(Ó)Ð)r   © N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__ÚnameÚID_KEYÚAUTHORIZE_URLÚACCESS_TOKEN_URLÚAUTHORIZATION_URLr'   ÚREDIRECT_STATEÚ
EXTRA_DATAr   r-   r5   r9   Ú__static_attributes__r;   r   r   r   r      sB   † Ø€DØ€FØ=€MØ<ÐØAÐØ3€JØ€Nò€Jò
ò,òõ*r   r   )Ú__doc__r*   Úutilsr   Úoauthr   r   r;   r   r   Ú<module>rK      s!   ðñó å Ý ô9*ˆzõ 9*r   