a
    Qx_                     @   sf   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	 G dd de	Z
G dd	 d	eZegZdS )
    N)render_to_string)escapejsEmailAddress)ProviderProviderAccountc                   @   s   e Zd Zdd ZdS )PersonaAccountc                 C   s   | j jS )N)Zaccountuid)self r   h/var/www/html/Ranjet/env/lib/python3.9/site-packages/allauth/socialaccount/providers/persona/provider.pyto_str   s    zPersonaAccount.to_strN)__name__
__module____qualname__r   r   r   r   r   r   
   s   r   c                   @   s@   e Zd ZdZdZeZdd Zdd Zdd Z	d	d
 Z
dd ZdS )PersonaProviderZpersonaZPersonac                 C   s0   |   }|di }dt|i}td||dS )NZREQUEST_PARAMETERSrequest_parameterszpersona/auth.html)request)Zget_settingsgetjsondumpsr   )r
   r   settingsr   ctxr   r   r   media_js   s    zPersonaProvider.media_jsc                 K   s8   dt |dpd }dt |dp&d }d||f S )Nz'%s'next processZloginz(javascript:allauth.persona.login(%s, %s))r   r   )r
   r   kwargsZnext_urlr   r   r   r   get_login_url   s    zPersonaProvider.get_login_urlc                 C   s   |d S )Nemailr   r
   datar   r   r   extract_uid   s    zPersonaProvider.extract_uidc                 C   s   t |d dS )Nr   )r   )dictr    r   r   r   extract_common_fields"   s    z%PersonaProvider.extract_common_fieldsc                 C   s   t |d dddg}|S )Nr   T)r   ZverifiedZprimaryr   )r
   r!   retr   r   r   extract_email_addresses%   s    z'PersonaProvider.extract_email_addressesN)r   r   r   idnamer   Zaccount_classr   r   r"   r$   r&   r   r   r   r   r      s   r   )r   Zdjango.template.loaderr   Zdjango.utils.htmlr   Zallauth.account.modelsr   Z$allauth.socialaccount.providers.baser   r   r   r   Zprovider_classesr   r   r   r   <module>   s   