
    j:                         S SK Jr  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)connections)func_accepts_kwargsc                   X    \ 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SrSrg)Tags   z$
Built-in tags for internal checks.
adminasync_supportcachescommandscompatibilitydatabasefilesmail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   r   r   __static_attributes__r       S/var/www/html/KUNJ/venv/lib/python3.13/site-packages/django/core/checks/registry.pyr   r      sY     E#MFH#MHED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+   r2   s     r"   inner%CheckRegistry.register.<locals>.inner5   sd    &u--O  EJ ::h'' &&++ 
 JJuLr!   )callable)r+   r5   r2   r7   r8   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O9U(       d2  U Vs/ s H%  n[        R
                  UR                  ;  d  M#  UPM'     nnUc  [        [        5      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 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(   r2   
isdisjointr   r   listr   
isinstancer   r1   extend)	r+   r>   r2   include_deployment_checksr?   errorsr6   r5   
new_errorss	            r"   
run_checksCheckRegistry.run_checksJ   s     !:;)/Xs5::7Q7QRV7WeFXF *0S4==

3ReFS[)IE;LJj(33NPUV  MM*%  % Y
 Ts   -C%C% "C*C*c                 (    XR                  U5      ;   $ r'   )tags_available)r+   tagrE   s      r"   
tag_existsCheckRegistry.tag_existsl   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'   )r2   ).0r5   s     r"   	<genexpr>/CheckRegistry.tags_available.<locals>.<genexpr>q   s       (Ju

(Js   )r(   r   from_iterabler@   )r+   r*   s     r"   rK   CheckRegistry.tags_availableo   s4      (,8I(J  
 	
r!   c                 t    [        U R                  5      nU(       a  UR                  U R                  5        U$ r'   )rB   r)   rD   r*   )r+   rE   r6   s      r"   r@   CheckRegistry.get_checksv   s,    d,,-$MM$001r!   )r*   r)   r'   )NNFN)F)r   r   r   r   r,   r;   rH   rM   rK   r@   r    r   r!   r"   r$   r$      s1    '$P "' DE
r!   r$   N)collections.abcr   	itertoolsr   	django.dbr   django.utils.inspectr   r   r$   registryr;   rH   rM   r   r!   r"   <module>r]      sR    $  ! 4 .[ [| ?  
  
r!   