o
    õÁh™  ã                   @   sb   d 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 )z
Provider for Patreon
é    )ÚProviderAccount)ÚOAuth2Provider)ÚPatreonOAuth2Adapteré   )ÚPROVIDER_IDÚ
USE_API_V2c                       s$   e Zd Zdd„ Z‡ fdd„Z‡  ZS )ÚPatreonAccountc                 C   s   | j j d¡ d¡S )NÚ
attributesÚ	thumb_url)ÚaccountÚ
extra_dataÚget©Úself© r   úg/var/www/html/pos/venv/lib/python3.10/site-packages/allauth/socialaccount/providers/patreon/provider.pyÚget_avatar_url   s   zPatreonAccount.get_avatar_urlc                    s$   | j j di ¡ d¡}|ptƒ  ¡ S )Nr	   Úemail)r   r   r   ÚsuperÚto_str)r   r   ©Ú	__class__r   r   r      s   zPatreonAccount.to_str)Ú__name__Ú
__module__Ú__qualname__r   r   Ú__classcell__r   r   r   r   r      s    r   c                   @   s4   e Zd ZeZdZeZeZ	dd„ Z
dd„ Zdd„ ZdS )	ÚPatreonProviderÚPatreonc                 C   s   t rg d¢S g d¢S )N)Úidentityzidentity[email]Ú	campaignszcampaigns.members)zpledges-to-meÚuserszmy-campaign)r   r   r   r   r   Úget_default_scope   s   z!PatreonProvider.get_default_scopec                 C   s
   |  d¡S )NÚid©r   )r   Údatar   r   r   Úextract_uid%   s   
zPatreonProvider.extract_uidc                 C   s.   |d }|  d¡|  d¡|  d¡|  d¡dœS )Nr	   r   Ú	full_nameÚ
first_nameÚ	last_name)r   Úfullnamer'   r(   r#   )r   r$   Údetailsr   r   r   Úextract_common_fields(   s   üz%PatreonProvider.extract_common_fieldsN)r   r   r   r   r"   Únamer   Úaccount_classr   Úoauth2_adapter_classr!   r%   r+   r   r   r   r   r      s    
r   N)Ú__doc__Ú$allauth.socialaccount.providers.baser   Ú/allauth.socialaccount.providers.oauth2.providerr   Ú-allauth.socialaccount.providers.patreon.viewsr   Ú	constantsr   r   r   r   Úprovider_classesr   r   r   r   Ú<module>   s    	
