o
    ["<f•  ã                   @   s(   G d d„ de ƒZdd„ Zg fdd„ZdS )c                   @   s$   e Zd ZdZi Zdd„ ZeeƒZdS )ÚRegistryz.
    Registry for application dashboards.
    c                 C   sD   ddl m} t||ƒstd| ƒ‚|| jv rtd|ƒ‚|| j|< d S )Né    )Ú	Dashboardz"%s is not an instance of Dashboardz@A dashboard has already been registered for the application "%s")Úgrappelli.dashboard.dashboardsr   Ú
issubclassÚ
ValueErrorÚregistry)ÚclsÚklassÚapp_namer   © r   úS/var/www/html/kck/venv/lib/python3.10/site-packages/grappelli/dashboard/registry.pyÚregister
   s   

ÿzRegistry.registerN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   Úclassmethodr   r   r   r   r      s
    r   c                 O   s   t j| g|¢R i |¤Ž dS )z?
    Register a custom dashboard into the global registry.
    N)r   r   )r   ÚargsÚkwargsr   r   r   r      s   r   c              	   C   s    ddl }ddlm} ddlm} |  d¡ |  d¡ |jD ]0}|| v r$qz||ƒj}W n	 ty4   Y qw z| 	d|¡ W n	 t
yF   Y qw |d| ƒ qdS )	zÆ
    Automagically discover custom dashboards and menus for installed apps.
    Optionally you can pass a ``blacklist`` of apps that you don't want to
    provide their own app index dashboard.
    r   N)Úimport_module)ÚsettingsÚ	grappellizgrappelli.dashboardÚ	dashboardz%s.dashboard)ÚimpÚ	importlibr   Údjango.confr   ÚappendÚINSTALLED_APPSÚ__path__ÚAttributeErrorÚfind_moduleÚImportError)Ú	blacklistr   r   r   ÚappÚapp_pathr   r   r   Úautodiscover   s(   


ÿÿîr%   N)Úobjectr   r   r%   r   r   r   r   Ú<module>   s   