
    )Jf                         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	  e
edi                               di           Z G d d	e          Z G d
 de	          ZegZdS )    )Optional)settings)EmailAddress)ProviderAccount)OAuth2ProviderSOCIALACCOUNT_PROVIDERS	mediawikic                   $     e Zd Zd Z fdZ xZS )MediaWikiAccountc                     t          j        dd          }| j        j                            d          }|sd S |                    |                    dd                    S )NUSERPAGE_TEMPLATEz/https://meta.wikimedia.org/wiki/User:{username}username _r   )r   getaccount
extra_dataformatreplace)selfuserpager   s      u/home/alex/cs2snipeproduction/venv/lib/python3.11/site-packages/allauth/socialaccount/providers/mediawiki/provider.pyget_profile_urlz MediaWikiAccount.get_profile_url   sd    <!R
 
 <*..z:: 	4(8(8c(B(BCCC    c                     t          t          |                                           }| j        j                            d|          S )Nr   )superr   to_strr   r   r   )r   dflt	__class__s     r   r   zMediaWikiAccount.to_str   s:    %t,,3355|&**:t<<<r   )__name__
__module____qualname__r   r   __classcell__)r    s   @r   r   r      sJ        D D D= = = = = = = = =r   r   c                   ^    e Zd ZdZdZeZedede	e
         fd            Zd Zd Zd Zd	 Zd
S )MediaWikiProviderr	   	MediaWikidatareturnc                 Z    |                      d          r|                      d          S d S )Nconfirmed_emailemail)r   )r(   s    r   
_get_emailzMediaWikiProvider._get_email!   s.    88%&& 	%88G$$$tr   c                 ,    t          |d                   S )Nsub)strr   r(   s     r   extract_uidzMediaWikiProvider.extract_uid'   s    4;r   c                 H    t          |                    d                    S )Nr   r   )dictr   r1   s     r   extract_extra_dataz$MediaWikiProvider.extract_extra_data*   s(    XXj))
 
 
 	
r   c                     t          |                     |          |                    d          |                    d                    S )Nr   realname)r,   r   name)r4   r-   r   r1   s     r   extract_common_fieldsz'MediaWikiProvider.extract_common_fields/   sF    //$''XXj))*%%
 
 
 	
r   c                 N    t          |                     |          dd          gS )NT)r,   verifiedprimary)r   r-   r1   s     r   extract_email_addressesz)MediaWikiProvider.extract_email_addresses6   s'    4??4#8#84QUVVVWWr   N)r!   r"   r#   idr8   r   account_classstaticmethodr4   r   r0   r-   r2   r5   r9   r=    r   r   r&   r&      s        	BD$M (3-    \
     
 
 


 
 
X X X X Xr   r&   N)typingr   django.confr   allauth.account.modelsr   $allauth.socialaccount.providers.baser   /allauth.socialaccount.providers.oauth2.providerr   getattrr   r   r&   provider_classesrA   r   r   <module>rI      s                      / / / / / / @ @ @ @ @ @ J J J J J J 786;;??RPP= = = = = = = =X X X X X X X X< &&   r   