U
    Z!c{	                     @   sp   d dl Z d dlmZ d dlmZ d dlmZ d dlmZm	Z	m
Z
 dd ZG dd	 d	eZe
eZe	eZdS )
    N)app_settings)GitLabProvider)OAuth2Error)OAuth2AdapterOAuth2CallbackViewOAuth2LoginViewc                 C   s   | j dkr| j}td| z|  }W n" tk
rJ   td| j Y nX | j dks^d|kr|ddpn| j }|ddp|dd}td	||f d
|krtd| |S )Ni  z Invalid data from GitLab API: %rz Invalid JSON from GitLab API: %ri  error Zerror_descriptionmessagezGitLab error: %s (%s)id)Zstatus_codecontentr   json
ValueErrortextget)responsemsgdatar   desc r   p/var/www/html/crackeverytest/cet_env/lib/python3.8/site-packages/allauth/socialaccount/providers/gitlab/views.py_check_errors   s    
r   c                   @   s\   e Zd ZejZdZdZej	
ei Ze
deZdeZdeZdeeZdd Zd	S )
GitLabOAuth2Adapterzhttps://gitlab.comv4Z
GITLAB_URLz{0}/oauth/tokenz{0}/oauth/authorizez{0}/api/{1}/userc                 C   s.   t j| jd|jid}t|}|  ||S )NZaccess_token)params)requestsr   profile_urltokenr   get_providerZsociallogin_from_response)selfrequestZappr   r   r   r   r   r   complete_login8   s    z"GitLabOAuth2Adapter.complete_loginN)__name__
__module____qualname__r   r   Zprovider_idZprovider_default_urlZprovider_api_versionr   Z	PROVIDERSr   settingsZprovider_base_urlformatZaccess_token_urlZauthorize_urlr   r!   r   r   r   r   r   ,   s   

r   )r   Zallauth.socialaccountr   Z/allauth.socialaccount.providers.gitlab.providerr   Z-allauth.socialaccount.providers.oauth2.clientr   Z,allauth.socialaccount.providers.oauth2.viewsr   r   r   r   r   Zadapter_viewZoauth2_loginZoauth2_callbackr   r   r   r   <module>   s   
