
    LȂi                         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                   T    \ 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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   __static_attributes__r       LD:\sksbv-state-backend\venv\Lib\site-packages\django/core/checks/registry.pyr   r      sT     E#MFH#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)   r0   s     r    inner%CheckRegistry.register.<locals>.inner3   sd    &u--O  EJ ::h'' &&++ 
 JJuLr   )callable)r)   r3   r0   r5   r6   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&   r0   
isdisjoint
isinstancer   r/   extend)	r)   r<   r0   include_deployment_checksr=   errorsr4   r3   
new_errorss	            r    
run_checksCheckRegistry.run_checksH   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)   tagrB   s      r    
tag_existsCheckRegistry.tag_existsb   s    ))*CDDDr   c                 l    [        [        R                  " S U R                  U5       5       5      5      $ )Nc              3   6   #    U H  oR                   v   M     g 7fr%   )r0   ).0r3   s     r    	<genexpr>/CheckRegistry.tags_available.<locals>.<genexpr>g   s       (Ju

(Js   )r&   r   from_iterabler>   )r)   r(   s     r    rH   CheckRegistry.tags_availablee   s4      (,8I(J  
 	
r   c                 t    [        U R                  5      nU(       a  UR                  U R                  5        U$ r%   )listr'   rA   r(   )r)   rB   r4   s      r    r>   CheckRegistry.get_checksl   s,    d,,-$MM$001r   )r(   r'   r%   )NNFN)F)r   r   r   r   r*   r9   rE   rJ   rH   r>   r   r   r   r    r"   r"      s0    '$P "'4E
r   r"   N)collections.abcr   	itertoolsr   django.utils.inspectr   r   r"   registryr9   rE   rJ   r   r   r    <module>rZ      sO    $  4 ,S Sl ?  
  
r   