
    >/i:                     T    S SK r S SKJr  \ R                  " \5      rS rS rS rS r	g)    N)utilsc                     ^  U 4S jnU$ )z+Decorator function to set checks to be run.c                 X  > [        U S5      (       d  / U l        T HU  nUS:X  a  U R                  R                  S5        M&  U R                  R                  [        R                  " U5      5        MW     [
        R                  S5        [
        R                  SU R                  5        U $ )N_checksFilezchecks() decorator executedz  func._checks: %s)hasattrr   appendr   check_ast_nodeLOGdebug)funcargargss     U/home/james-whalen/.local/lib/python3.13/site-packages/bandit/core/test_properties.pywrapperchecks.<locals>.wrapper   s~    tY''DLCf}##F+##E$8$8$=>	  			/0		&5     r   r   s   ` r   checksr      s     Nr   c                     ^ SmU4S jn[        U 5      S:X  a-  [        U S   5      (       a  U S   R                  mU" U S   5      $ U S   mU$ )zTest function takes config

Use of this delegate before a test function indicates that it should be
passed data from the config file. Passing a name parameter allows
aliasing tests and thus sharing config options.
 c                 8   > [        U S5      (       d  TU l        U $ )N_takes_config)r   r   )r   names    r   r   #takes_config.<locals>._takes_config(   s    t_--!%Dr      r   )lencallable__name__)r   r   r   s     @r   takes_configr!      sW     D
 4yA~(47++AwT!W%%Awr   c                    ^  U 4S jnU$ )z\Test function identifier

Use this decorator before a test function indicates its simple ID
c                 8   > [        U S5      (       d  TU l        U $ )N_test_id)r   r$   )r   id_vals    r   _has_idtest_id.<locals>._has_id;   s    tZ(("DMr   r   )r%   r&   s   ` r   test_idr(   5   s    
 Nr   c                      S nU" U S   5      $ )zDecorator to indicate formatter accepts baseline results

Use of this decorator before a formatter indicates that it is able to deal
with baseline results.  Specifically this means it has a way to display
candidate results and know when it should do so.
c                 v    [        U S5      (       d  SU l        [        R                  SU R                  5        U $ )N_accepts_baselineTz+accepts_baseline() decorator executed on %s)r   r+   r   r   r    )r   s    r   r   !accepts_baseline.<locals>.wrapperK   s0    t011%)D"		?Or   r   r   r   s     r   accepts_baseliner-   C   s     47r   )
loggingbandit.corer   	getLoggerr    r   r   r!   r(   r-   r   r   r   <module>r1      s1   
  !&,r   