
    qh                     >    S r SSKrSSKJr  SSKJr   " S S\5      rg)z
Qiita OAuth2 backend, docs at:
    https://python-social-auth.readthedocs.io/en/latest/backends/qiita.html
    http://qiita.com/api/v2/docs#get-apiv2oauthauthorize
    https://qiita.com/api/v2/docs#get-apiv2authenticated_user
    N)AuthException   )
BaseOAuth2c                   p   ^  \ rS rSrSrSrSrSrSrSr	/ SQr
SU 4S	 jjrS
 rU 4S jrS rS rS rSrU =r$ )QiitaOAuth2   z"Qiita OAuth authentication backendqiitaz(https://qiita.com/api/v2/oauth/authorizez&https://qiita.com/api/v2/access_tokens T))descriptionr   )facebook_idr   )followees_countr   )followers_countr   )github_login_namer   )idr   )items_countr   )linkedin_idr   )locationr   )namer   )organizationr   )permanent_idr   )profile_image_urlr   )	team_onlyr   )twitter_screen_namer   )website_urlr   )image_monthly_upload_limitr   )image_monthly_upload_remainingr   c                 r   > [         TU ]  U5      nSU;   a  US	 SU;   a  US	 [        R                  " U5      $ )N
grant_typeredirect_uri)superauth_complete_paramsjsondumps)selfstatedata	__class__s      L/var/www/html/env/lib/python3.13/site-packages/social_core/backends/qiita.pyr!    QiitaOAuth2.auth_complete_params/   sA    w+E24\"T!^$zz$    c                 
    SS0$ )NzContent-Typezapplication/json )r$   s    r(   auth_headersQiitaOAuth2.auth_headers7   s     233r*   c                 T   > [         TU ]  " U0 UD6nUR                  SUS   05        U$ )Naccess_tokentoken)r    request_access_tokenupdate)r$   argskwargsr&   r'   s       r(   r2    QiitaOAuth2.request_access_token:   s1    w+T<V<^T']34r*   c                     US   US   S.$ )z&Return user details from Qiita accountr   r   )usernamefullnamer,   )r$   responses     r(   get_user_detailsQiitaOAuth2.get_user_details?   s     ! (
 	
r*   c                 ,    U R                  SSSU 30S9$ )zLoads user data from servicez+https://qiita.com/api/v2/authenticated_userAuthorizationzBearer )headers)get_json)r$   r0   r4   r5   s       r(   	user_dataQiitaOAuth2.user_dataF   s*    }}9$~&>?  
 	
r*   c                     SnU R                  S5      (       a  UR                  S5      nOUR                  S5      nUb  [        U5      $ [        U S5      e)zReturn user idNIDENTIFIED_BY_PERMANENT_IDr   r   zfailed to get user id)settinggetstrr   )r$   detailsr:   user_ids       r(   get_user_idQiitaOAuth2.get_user_idM   sQ    <<455ll>2Gll4(Gw<D"9::r*   r,   )N)__name__
__module____qualname____firstlineno____doc__r   AUTHORIZATION_URLACCESS_TOKEN_URLSCOPE_SEPARATORREDIRECT_STATE
EXTRA_DATAr!   r-   r2   r;   rA   rJ   __static_attributes____classcell__)r'   s   @r(   r   r      sK    ,DB?ONJ. 4



; 
;r*   r   )rP   r"   social_core.exceptionsr   oauthr   r   r,   r*   r(   <module>rZ      s#     0 H;* H;r*   