
    f                         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  eedi       j                  di       Z G d	 d
e      Z G d de      ZegZy)    )Optional)settings)EmailAddress)ProviderAccount)MediaWikiOAuth2Adapter)OAuth2ProviderSOCIALACCOUNT_PROVIDERS	mediawikic                       e Zd Zd Zy)MediaWikiAccountc                     t        j                  dd      }| j                  j                  j                  d      }|sy |j	                  |j                  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      m/var/www/cs2snipe.com/venv/lib/python3.12/site-packages/allauth/socialaccount/providers/mediawiki/provider.pyget_profile_urlz MediaWikiAccount.get_profile_url   sV    <<!R
 <<**..z:(8(8c(BCC    N)__name__
__module____qualname__r    r   r   r   r      s    Dr   r   c                   T    e Zd ZdZdZeZeZe	de
dee   fd       Zd Zd Zd Zd	 Zy
)MediaWikiProviderr
   	MediaWikidatareturnc                 H    | j                  d      r| j                  d      S y )Nconfirmed_emailemail)r   )r#   s    r   
_get_emailzMediaWikiProvider._get_email!   s!    88%&88G$$r   c                     t        |d         S )Nsub)strr   r#   s     r   extract_uidzMediaWikiProvider.extract_uid'   s    4;r   c                 x    t        | j                  |      |j                  d      |j                  d            S )Nrealnamer   )r'   r/   r   dictr(   r   r,   s     r   extract_extra_dataz$MediaWikiProvider.extract_extra_data*   s3    //$'XXj)XXj)
 	
r   c                 x    t        | j                  |      |j                  d      |j                  d            S )Nr   r/   )r'   r   namer0   r,   s     r   extract_common_fieldsz'MediaWikiProvider.extract_common_fields1   s3    //$'XXj)*%
 	
r   c                 >    t        | j                  |      dd      gS )NT)r'   verifiedprimary)r   r(   r,   s     r   extract_email_addressesz)MediaWikiProvider.extract_email_addresses8   s    4??4#84QUVWWr   N)r   r   r   idr4   r   account_classr   oauth2_adapter_classstaticmethodr1   r   r+   r(   r-   r2   r5   r9   r   r   r   r!   r!      sP    	BD$M1 (3-  
 

Xr   r!   N)typingr   django.confr   allauth.account.modelsr   $allauth.socialaccount.providers.baser   /allauth.socialaccount.providers.mediawiki.viewsr   /allauth.socialaccount.providers.oauth2.providerr   getattrr   r   r!   provider_classesr   r   r   <module>rF      sb       / @ K 86;??RPD DX XB && r   