o
    Lf                     @   sR   d dl Z d dlmZ d dlmZ d dlmZ d dlmZ G dd de	Z
e
 ZdS )    N)OrderedDict)apps)settings)import_attributec                   @   s<   e Zd Zdd Zdd Zdd Zdd Zd	d
 Zdd ZdS )ProviderRegistryc                 C   s   t  | _d| _d S )NF)r   provider_maploadedself r   i/var/www/html/humari/django-venv/lib/python3.10/site-packages/allauth/socialaccount/providers/__init__.py__init__   s   
zProviderRegistry.__init__c                 C   s   |    t| j S N)loadlistr   valuesr	   r   r   r   get_class_list   s   zProviderRegistry.get_class_listc                 C   s   || j |j< d S r   )r   id)r
   clsr   r   r   register   s   zProviderRegistry.registerc                 C   s   | j |S r   )r   get)r
   r   r   r   r   	get_class   s   zProviderRegistry.get_classc                 c   s,    |    | j D ]	}|j|jfV  q
d S r   )r   r   r   r   name)r
   provider_clsr   r   r   
as_choices   s
   zProviderRegistry.as_choicesc              	   C   s   | j sGt D ]:}z
t|jd }W n	 ty   Y qw ttdi }t|dg D ]}|	|j
i 	d}|r;t|}| | q)qd| _ d S d S )Nz	.providerSOCIALACCOUNT_PROVIDERSprovider_classesprovider_classT)r   r   get_app_configs	importlibimport_moduler   ImportErrorgetattrr   r   r   r   r   )r
   
app_configprovider_moduleprovider_settingsr   r   r   r   r   r      s(   
zProviderRegistry.loadN)	__name__
__module____qualname__r   r   r   r   r   r   r   r   r   r   r   
   s    r   )r   collectionsr   django.appsr   django.confr   allauth.utilsr   objectr   registryr   r   r   r   <module>   s    
/