
    h                         S SK Jr  S SKJr  S SKJr   " S S5      r " S S5      r\" 5       r\R                  r	\R                  r
\R                  rg)	    )Iterable)chain)func_accepts_kwargsc                   P    \ rS rSrSrSrSrSrSrSr	Sr
S	rS
rSrSrSrSrSrSrSrg)Tags   z$
Built-in tags for internal checks.
adminasync_supportcachescompatibilitydatabasefilesmodelssecuritysignalssitesstaticfiles	templatestranslationurls N)__name__
__module____qualname____firstlineno____doc__r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   __static_attributes__r       M/var/www/html/env/lib/python3.13/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                   T    \ rS rSrS rS
S jr    SS jrSS jrSS jrSS jr	S	r
g)CheckRegistry   c                 @    [        5       U l        [        5       U l        g N)setregistered_checksdeployment_checks)selfs    r   __init__CheckRegistry.__init__   s    !$!$r   Nc                 f   ^ ^^ UU U4S jn[        U5      (       a  U" U5      $ U(       a  TU4-  mU$ )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                    > [        U 5      (       d  [        S5      eTU l        TR                  S5      (       a  TR                  OTR
                  nUR                  U 5        U $ )Nz9Check functions must accept keyword arguments (**kwargs).deploy)r   	TypeErrortagsgetr'   r&   add)checkcheckskwargsr(   r/   s     r   inner%CheckRegistry.register.<locals>.inner2   sd    &u--O  EJ ::h'' &&++ 
 JJuLr   )callable)r(   r2   r/   r4   r5   s   ` `` r   registerCheckRegistry.register!   s1    "	 E??< Lr   c                 <   / nU R                  U5      nUb=  U Vs/ s H0  n[        UR                  5      R                  U5      (       a  M.  UPM2     nnU H=  nU" XS9n[	        U[
        5      (       d  [        SU-  5      eUR                  U5        M?     U$ s  snf )zC
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(   r;   r/   include_deployment_checksr<   errorsr3   r2   
new_errorss	            r   
run_checksCheckRegistry.run_checksG   s     !:;)/Xs5::7Q7QRV7WeFXE;LJj(33NPUV  MM*%   Ys   -BBc                 (    XR                  U5      ;   $ r$   )tags_available)r(   tagrA   s      r   
tag_existsCheckRegistry.tag_existsa   s    ))*CDDDr   c                 l    [        [        R                  " S U R                  U5       5       5      5      $ )Nc              3   8   #    U  H  oR                   v   M     g 7fr$   )r/   ).0r2   s     r   	<genexpr>/CheckRegistry.tags_available.<locals>.<genexpr>f   s       (Ju

(Js   )r%   r   from_iterabler=   )r(   r'   s     r   rG   CheckRegistry.tags_availabled   s4      (,8I(J  
 	
r   c                 t    [        U R                  5      nU(       a  UR                  U R                  5        U$ r$   )listr&   r@   r'   )r(   rA   r3   s      r   r=   CheckRegistry.get_checksk   s,    d,,-$MM$001r   )r'   r&   r$   )NNFN)F)r   r   r   r   r)   r8   rD   rI   rG   r=   r   r   r   r   r!   r!      s0    '$P "'4E
r   r!   N)collections.abcr   	itertoolsr   django.utils.inspectr   r   r!   registryr8   rD   rI   r   r   r   <module>rY      sO    $  4 *S Sl ?  
  
r   