
    )Jf                         d dl mZ d dlmZ d dlmZ d dlmZmZ ddl	m
Z
mZmZmZmZ  G d de          Z G d	 d
e          ZegZdS )    )urlparse)reverse)	urlencode)ProviderProviderAccount   )AXAttributeOldAXAttribute	SRegFieldget_email_from_responseget_value_from_responsec                   $     e Zd Z fdZd Z xZS )OpenIDAccountc                    t          t          |                                           }t          | j        j                  j        }t          dd          t          dd          t          dd          d}|                                D ]4\  }}|	                                
                    |          d	k    r|} n5|S )
NyahooYahoo)idnamehyvesHyvesgoogleGoogle)r   r   r   r   )superr   	get_brandr   accountuidnetlocdictitemslowerfind)selfretdomainprovider_mapdp	__class__s         r/home/alex/cs2snipeproduction/venv/lib/python3.11/site-packages/allauth/socialaccount/providers/openid/provider.pyr   zOpenIDAccount.get_brand   s    M4((2244$,*++2 W7333W7333hX666
 

 !&&(( 	 	DAq||~~""1%%** + 
    c                     | j         j        S N)r   r   )r"   s    r)   to_strzOpenIDAccount.to_str"   s    |r*   )__name__
__module____qualname__r   r-   __classcell__)r(   s   @r)   r   r      sG                          r*   r   c                   B    e Zd ZdZdZeZdZd Zd Z	d Z
d Zd Zd	 Zd
S )OpenIDProvideropenidOpenIDFc                 R    t          d          }|r|dt          |          z   z  }|S )Nopenid_login?)r   r   )r"   requestkwargsurls       r)   get_login_urlzOpenIDProvider.get_login_url,   s3    n%% 	+36****C
r*   c                     t          ddd          t          ddd          g}|                                                     d|          S )	Nr   r   zhttp://me.yahoo.com)r   r   
openid_urlr   r   zhttp://hyves.nlSERVERS)r   get_settingsget)r"   default_serverss     r)   
get_brandszOpenIDProvider.get_brands2   sU     G'6KLLLG'6GHHH
   ""&&y/BBBr*   c                     |                                                      dg           }|D ]0}|,|                    |                    d                    r|c S 1i S )Nr?   r>   )r@   rA   
startswith)r"   endpointserversservers       r)   get_server_settingsz"OpenIDProvider.get_server_settings:   sf    ##%%)))R88 	 	F#(;(;FJJ|<T<T(U(U#	r*   c                     i }|                      |j        j                  }|                    dg           }|D ]\  }}}t	          ||g          ||<   |S )Nextra_attributesax_names)rI   rF   
server_urlrA   r   )r"   response
extra_dataserver_settingsrK   attribute_idr   _s           r)   extract_extra_dataz!OpenIDProvider.extract_extra_dataA   sx    
2283D3OPP*../A2FF%5 	 	!L$'>D6( ( (J|$$ r*   c                     |j         S r,   )identity_url)r"   rO   s     r)   extract_uidzOpenIDProvider.extract_uidK   s    $$r*   c                 P   t          |t          j        t          j        g          pd}t          |t          j        t          j        g          pd}t          |t
          j        gt          j        t          j        g          pd}t          t          |          |||          S )NrL    )
sreg_namesrM   )email
first_name	last_namer   )
r   r	   PERSON_FIRST_NAMEr
   PERSON_LAST_NAMEr   NAMEPERSON_NAMEr   r   )r"   rO   r\   r]   r   s        r)   extract_common_fieldsz$OpenIDProvider.extract_common_fieldsN   s    #1"4     	 $0"3     	 $%N+%1>3MN   
  	 )(33!	
 
 
 	
r*   N)r.   r/   r0   r   r   r   account_class	uses_appsr<   rC   rI   rT   rW   rb    r*   r)   r3   r3   &   s        	BD!MI  C C C    % % %"
 "
 "
 "
 "
r*   r3   N)urllib.parser   django.urlsr   django.utils.httpr   $allauth.socialaccount.providers.baser   r   utilsr	   r
   r   r   r   r   r3   provider_classesre   r*   r)   <module>rl      s   ! ! ! ! ! !       ' ' ' ' ' ' J J J J J J J J                      O      *J
 J
 J
 J
 J
X J
 J
 J
Z ##   r*   