o
    &zh                     @   sP   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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   c/var/www/html/kangema/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 sXt D ]K}z|jd }t|}W n ty- } z|j|kr# W Y d }~qd }~ww ttdi }t|dg D ]}|	|j
i 	d}|rLt|}| | q:qd| _ d S d S )Nz	.providerSOCIALACCOUNT_PROVIDERSprovider_classesprovider_classT)r   r   get_app_configsr   	importlibimport_moduleImportErrorgetattrr   r   r   r   r   )r
   
app_configmodule_nameprovider_modulee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   r   registryr   r   r   r   <module>   s    
/