a
    Qx_                     @   sN   d dl mZ d dlmZ d dlmZ G dd deZG dd deZegZdS )	    )app_settings)ProviderAccount)OAuth2Providerc                       s,   e Zd Zdd Zdd Z fddZ  ZS )GitHubAccountc                 C   s   | j jdS )NZhtml_urlaccount
extra_datagetself r   g/var/www/html/Ranjet/env/lib/python3.9/site-packages/allauth/socialaccount/providers/github/provider.pyget_profile_url   s    zGitHubAccount.get_profile_urlc                 C   s   | j jdS )NZ
avatar_urlr   r
   r   r   r   get_avatar_url
   s    zGitHubAccount.get_avatar_urlc                    s>   t t|  }tdd | jjdd | jjdd |fD S )Nc                 s   s   | ]}|d ur|V  qd S )Nr   ).0valuer   r   r   	<genexpr>   s   z'GitHubAccount.to_str.<locals>.<genexpr>namelogin)superr   to_strnextr   r   r	   )r   Zdflt	__class__r   r   r      s    zGitHubAccount.to_str)__name__
__module____qualname__r   r   r   __classcell__r   r   r   r   r      s   r   c                   @   s0   e Zd ZdZdZeZdd Zdd Zdd Z	d	S )
GitHubProviderZgithubZGitHubc                 C   s   g }t jr|d |S )Nz
user:email)r   ZQUERY_EMAILappend)r   Zscoper   r   r   get_default_scope   s    
z GitHubProvider.get_default_scopec                 C   s   t |d S )Nid)strr   datar   r   r   extract_uid%   s    zGitHubProvider.extract_uidc                 C   s    t |d|d|ddS )Nemailr   r   )r&   usernamer   )dictr	   r#   r   r   r   extract_common_fields(   s
    z$GitHubProvider.extract_common_fieldsN)
r   r   r   r!   r   r   Zaccount_classr    r%   r)   r   r   r   r   r      s   r   N)	Zallauth.socialaccountr   Z$allauth.socialaccount.providers.baser   Z/allauth.socialaccount.providers.oauth2.providerr   r   r   Zprovider_classesr   r   r   r   <module>   s
   