
    $g                     2    d Z ddlmZ  G d de          ZdS )zt
RunKeeper OAuth2 backend, docs at:
    https://python-social-auth.readthedocs.io/en/latest/backends/runkeeper.html
   )
BaseOAuth2c                   @    e Zd ZdZdZdZdZdZdgZd Z	d Z
d	 Zd
 ZdS )RunKeeperOAuth2z&RunKeeper OAuth authentication backend	runkeeperz$https://runkeeper.com/apps/authorizez https://runkeeper.com/apps/tokenPOST)userIDidc                     |d         S )Nr    )selfdetailsresponses      ^/var/www/html/netbox-4.1.3/venv/lib/python3.11/site-packages/social_core/backends/runkeeper.pyget_user_idzRunKeeperOAuth2.get_user_id   s    !!    c                 l   d}|                     d          }t          |          rE|                    d          }t          |          dk    rt          |d                   r|d         }|                     |                     d                    \  }}}||                     d          pd|||d	S )
z Parse username from profile linkNprofilezhttp://runkeeper.com/user/r   name)fullnameemail )usernamer   r   
first_name	last_name)getlensplitget_user_names)r   r   r   profile_urlprofile_url_partsr   r   r   s           r   get_user_detailsz RunKeeperOAuth2.get_user_details   s    ll9--{ 	0 + 1 12N O O$%%))c2CA2F.G.G),Q/*.*=*=\\&)) +> +
 +
'*i !\\'**0b $"
 
 	
r   c                 t    |                      |d          }|                      |d          }t          |fi |S )Nz/userz/profile)
_user_datadict)r   access_tokenargskwargs	user_dataprofile_datas         r   r(   zRunKeeperOAuth2.user_data*   s@     OOL'::	|Z@@I.....r   c                 >    d| }|                      |d|i          S )Nzhttps://api.runkeeper.comr%   )params)get_json)r   r%   pathurls       r   r#   zRunKeeperOAuth2._user_data1   s*    0$00}}S.,)G}HHHr   N)__name__
__module____qualname____doc__r   AUTHORIZATION_URLACCESS_TOKEN_URLACCESS_TOKEN_METHOD
EXTRA_DATAr   r!   r(   r#   r   r   r   r   r   	   s|        00D>9 J" " "
 
 
&/ / /I I I I Ir   r   N)r2   oauthr   r   r   r   r   <module>r8      sa    
      *I *I *I *I *Ij *I *I *I *I *Ir   