a
    Qx_R                     @   sF   d dl mZmZ d dlmZ G dd deZG dd deZegZdS )    )
AuthActionProviderAccount)OAuthProviderc                       s4   e Zd Zdd Zdd Zdd Z fddZ  ZS )	TwitterAccountc                 C   s   | j jdS )Nscreen_name)account
extra_dataget)self r   h/var/www/html/Ranjet/env/lib/python3.9/site-packages/allauth/socialaccount/providers/twitter/provider.pyget_screen_name   s    zTwitterAccount.get_screen_namec                 C   s   d }|   }|rd| }|S )Nzhttp://twitter.com/)r   )r
   retr   r   r   r   get_profile_url	   s
    zTwitterAccount.get_profile_urlc                 C   s&   d }| j jd}|r"|dd}|S )Nprofile_image_urlZ_normal )r   r   r	   replace)r
   r   r   r   r   r   get_avatar_url   s
    zTwitterAccount.get_avatar_urlc                    s   |   }|ptt|  S )N)r   superr   to_str)r
   r   	__class__r   r   r      s    zTwitterAccount.to_str)__name__
__module____qualname__r   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 )
TwitterProviderZtwitterZTwitterc                 C   s   |t jkrd}nd}|S )Nz'https://api.twitter.com/oauth/authorizez*https://api.twitter.com/oauth/authenticate)r   ZREAUTHENTICATE)r
   requestactionurlr   r   r   get_auth_url#   s    
zTwitterProvider.get_auth_urlc                 C   s   |d S )Nidr   r
   datar   r   r   extract_uid*   s    zTwitterProvider.extract_uidc                 C   s    t |d|d|ddS )Nr   nameemail)usernamer%   r&   )dictr	   r"   r   r   r   extract_common_fields-   s
    z%TwitterProvider.extract_common_fieldsN)
r   r   r   r!   r%   r   Zaccount_classr    r$   r)   r   r   r   r   r      s   r   N)Z$allauth.socialaccount.providers.baser   r   Z.allauth.socialaccount.providers.oauth.providerr   r   r   Zprovider_classesr   r   r   r   <module>   s   