Ë
    ¹ûàg€  ã                   ó¦   — d dl mZ d dlmZ d dlmZ  G d„ d«      Z G d„ d«      Z e«       Zej                  Z	ej                  Z
ej                  Zy)	é    )ÚIterable)Úchain)Úfunc_accepts_kwargsc                   óH   — e Zd ZdZdZdZdZdZdZdZ	dZ
d	Zd
ZdZdZdZdZdZy)ÚTagsz,
    Built-in tags for internal checks.
    ÚadminÚasync_supportÚcachesÚcompatibilityÚdatabaseÚfilesÚmodelsÚsecurityÚsignalsÚsitesÚstaticfilesÚ	templatesÚtranslationÚurlsN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   © ó    úY/var/www/skyplay_api_hub/venv/lib/python3.12/site-packages/django/core/checks/registry.pyr   r      sO   „ ñð €EØ#€MØ€FØ#€MØ€HØ€EØ€FØ€HØ€GØ€EØ€KØ€IØ€KØ�Dr   r   c                   óB   — e Zd Zd„ Zdd„Z	 	 	 	 d	d„Zd
d„Zd
d„Zd
d„Zy)ÚCheckRegistryc                 ó@   — t        «       | _        t        «       | _        y ©N)ÚsetÚregistered_checksÚdeployment_checks)Úselfs    r   Ú__init__zCheckRegistry.__init__   s   € Ü!$£ˆÔÜ!$£ˆÕr   Nc                 óP   ‡ ‡‡— ˆˆ ˆfd„}t        |«      r ||«      S |r‰|fz  Š|S )a  
        Can be used as a function or a decorator. Register given function
        `f` labeled with given `tags`. The function should receive **kwargs
        and return list of Errors and Warnings.

        Example::

            registry = CheckRegistry()
            @registry.register('mytag', 'anothertag')
            def my_check(app_configs, **kwargs):
                # ... perform checks and collect `errors` ...
                return errors
            # or
            registry.register(my_check, 'mytag', 'anothertag')
        c                 ó¶   •— t        | «      st        d«      ‚‰| _        ‰j                  d«      r‰j                  n‰j
                  }|j                  | «       | S )Nz9Check functions must accept keyword arguments (**kwargs).Údeploy)r   Ú	TypeErrorÚtagsÚgetr#   r"   Úadd)ÚcheckÚchecksÚkwargsr$   r*   s     €€€r   Úinnerz%CheckRegistry.register.<locals>.inner2   s^   ø€ Ü& uÔ-ÜØOóð ð ˆEŒJð —:‘:˜hÔ'ð ×&Ò&à×+Ñ+ð ð
 �J‰J�uÔØˆLr   )Úcallable)r$   r-   r*   r/   r0   s   ` `` r   ÚregisterzCheckRegistry.register!   s/   ú€ ö"	ô �EŒ?Ù˜“<ÐáØ˜˜Ñ �ØˆLr   c                 ó"  — g }| j                  |«      }|�4|D �cg c])  }t        |j                  «      j                  |«      rŒ(|‘Œ+ }}|D ];  } |||¬«      }t	        |t
        «      st        d|z  «      ‚|j                  |«       Œ= |S c c}w )zS
        Run all registered checks and return list of Errors and Warnings.
        )Úapp_configsÚ	databaseszlThe function %r did not return a list. All functions registered with the checks registry must return a list.)Ú
get_checksr!   r*   Ú
isdisjointÚ
isinstancer   r)   Úextend)	r$   r4   r*   Úinclude_deployment_checksr5   Úerrorsr.   r-   Ú
new_errorss	            r   Ú
run_checkszCheckRegistry.run_checksG   s£   € ð ˆØ—‘Ð!:Ó;ˆàÐØ)/ÖX ´s¸5¿:¹:³×7QÑ7QÐRVÕ7W’eÐXˆFÐXàò 	&ˆEÙ¨;À)ÔLˆJÜ˜j¬(Ô3ÜðNØPUñVóð ð �M‰M˜*Õ%ð	&ð ˆùò Ys   š)BÁBc                 ó(   — || j                  |«      v S r    )Útags_available)r$   Útagr:   s      r   Ú
tag_existszCheckRegistry.tag_existsa   s   € Ø�d×)Ñ)Ð*CÓDÐDÐDr   c                 ój   — t        t        j                  d„ | j                  |«      D «       «      «      S )Nc              3   ó4   K  — | ]  }|j                   –— Œ y ­wr    )r*   )Ú.0r-   s     r   ú	<genexpr>z/CheckRegistry.tags_available.<locals>.<genexpr>f   s   è ø€ ò  Ø$�—
•
ñ ùs   ‚)r!   r   Úfrom_iterabler6   )r$   r#   s     r   r?   zCheckRegistry.tags_availabled   s4   € ÜÜ×Ññ  Ø(,¯©Ð8IÓ(Jô ó ó
ð 	
r   c                 ój   — t        | j                  «      }|r|j                  | j                  «       |S r    )Úlistr"   r9   r#   )r$   r:   r.   s      r   r6   zCheckRegistry.get_checksk   s,   € Ü�d×,Ñ,Ó-ˆÙ$Ø�M‰M˜$×0Ñ0Ô1Øˆr   r    )NNFN)F)	r   r   r   r%   r2   r=   rA   r?   r6   r   r   r   r   r      s0   „ ò'ó$ðP ØØ"'Øóó4Eó
ôr   r   N)Úcollections.abcr   Ú	itertoolsr   Údjango.utils.inspectr   r   r   Úregistryr2   r=   rA   r   r   r   ú<module>rM      sO   ðÝ $Ý å 4÷ñ ÷*Sñ Sñl ‹?€Ø×Ñ€Ø× Ñ €
Ø× Ñ �
r   