
    )JfG                         d dl mZ d dlmZ d dlmZ d dlmZ d dlm	Z	 d dl
mZmZ dej        vr ed           G d	 d
e          Zd Zd Z G d de          ZegZdS )    )settings)ImproperlyConfigured)reverse)	urlencode)get_adapter)OpenIDAccountOpenIDProviderz&allauth.socialaccount.providers.openidzTThe steam provider requires 'allauth.socialaccount.providers.openid' to be installedc                   *     e Zd Z fdZd Zd Z xZS )SteamAccountc                     t          t          |                                           }| j        j                            d|          S )Npersonaname)superr   to_straccount
extra_dataget)selfdflt	__class__s     q/home/alex/cs2snipeproduction/venv/lib/python3.11/site-packages/allauth/socialaccount/providers/steam/provider.pyr   zSteamAccount.to_str   s9    \4((//11|&**=$???    c                 @    | j         j                            d          S )N
profileurlr   r   r   r   s    r   get_profile_urlzSteamAccount.get_profile_url   s    |&**<888r   c                     | j         j                            d          p=| j         j                            d          p| j         j                            d          S )N
avatarfullavatarmediumavatarr   r   s    r   get_avatar_urlzSteamAccount.get_avatar_url   sS    L#''55 5|&**>::5|&**844	
r   )__name__
__module____qualname__r   r   r!   __classcell__r   s   @r   r   r      s[        @ @ @ @ @9 9 9
 
 
 
 
 
 
r   r   c                 ,    |                      d          S )Nz%https://steamcommunity.com/openid/id/)lstrip)urls    r   extract_steam_idr*   #   s    ::=>>>r   c                 D   d}d}| |d}t                                                                          ||z   |          }|                                 |                                }|                    di                               dg           }|r|d         nd|iS )	Nzhttps://api.steampowered.com/z$ISteamUser/GetPlayerSummaries/v0002/)keysteamids)paramsresponseplayersr   steamid)r   get_requests_sessionr   raise_for_statusjson)api_keysteam_idapi_basemethodr.   respdata
playerlists           r   request_steam_account_summaryr<   '   s    .H3F(33F==--//33Hv4Ef3UUD99;;D*b))--i<<J&A:a==Y,AAr   c                   R     e Zd ZdZdZeZdZd fd	Zd Z	 fdZ
d Zd	 Zd
 Z xZS )SteamOpenIDProvidersteamSteamTNc                     |'t                                          || j                  }t                                          ||           d S )N)app)r   get_appidr   __init__)r   requestrB   r   s      r   rE   zSteamOpenIDProvider.__init__:   sF    ;--''99Cc*****r   c                 R    t          d          }|r|dt          |          z   z  }|S )Nsteam_login?)r   r   )r   rF   kwargsr)   s       r   get_login_urlz!SteamOpenIDProvider.get_login_url?   s3    m$$ 	+36****C
r   c                     t          |j                  }| j        j        }t	          ||          |_        t          t          |                               ||          S N)	r*   identity_urlrB   secretr<   _extrar   r>   sociallogin_from_response)r   rF   r/   r6   steam_api_keyr   s        r   rQ   z-SteamOpenIDProvider.sociallogin_from_responseE   sU    #H$9::7xPP($//IIX
 
 	
r   c                     |j         d         S )Nr1   )rP   r   r/   s     r   extract_uidzSteamOpenIDProvider.extract_uidM   s    y))r   c                 4    |j                                         S rM   )rP   copyrT   s     r   extract_extra_dataz&SteamOpenIDProvider.extract_extra_dataP   s    ##%%%r   c                 $   |j                             dd                                          }|                    d          dk    r|                                \  }}n|d}}|j                             dd          }|p|j         d         |||dS )Nrealname     r   r1   )username
first_name	last_name	full_name)rP   r   stripcountsplit)r   r/   ra   r_   r`   r^   s         r   extract_common_fieldsz)SteamOpenIDProvider.extract_common_fieldsS   s    O''
B77==??	??31$$$-OO$5$5!J		$-r	J?&&}b99 !>HOI$>$""	
 
 	
r   rM   )r"   r#   r$   rD   namer   account_class	uses_appsrE   rK   rQ   rU   rX   re   r%   r&   s   @r   r>   r>   4   s        	BD MI+ + + + + +
  
 
 
 
 
* * *& & &
 
 
 
 
 
 
r   r>   N)django.confr   django.core.exceptionsr   django.urlsr   django.utils.httpr   allauth.socialaccount.adapterr   /allauth.socialaccount.providers.openid.providerr   r	   INSTALLED_APPSr   r*   r<   r>   provider_classes r   r   <module>rr      s6               7 7 7 7 7 7       ' ' ' ' ' ' 5 5 5 5 5 5        ,83JJJ

^  

 
 
 
 
= 
 
 
 ? ? ?
B 
B 
B-
 -
 -
 -
 -
. -
 -
 -
` ((   r   