o
    ˷e                     @   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)accountuid)self r   g/var/www/ideatree/venv/lib/python3.10/site-packages/allauth/socialaccount/providers/persona/provider.pyto_str      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 )PersonaProviderpersonaPersonac                 C   s0   |   }|di }dt|i}td||dS )NREQUEST_PARAMETERSrequest_parameterszpersona/auth.html)request)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 processloginz(javascript:allauth.persona.login(%s, %s))r   r   )r   r   kwargs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   r   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'   verifiedprimaryr   )r   r)   retr   r   r   extract_email_addresses%   s   z'PersonaProvider.extract_email_addressesN)r   r   r   idnamer   account_classr   r&   r*   r,   r0   r   r   r   r   r      s    r   )r   django.template.loaderr   django.utils.htmlr   allauth.account.modelsr   $allauth.socialaccount.providers.baser   r   r   r   provider_classesr   r   r   r   <module>   s    
