
    Vi>                         S SK Jr  S SKr\R                  " S5      r " S S\R
                  5      r " S S\5      r " S S	\5      r	g)
    wrapsNpeeweec                        \ rS rSrS rS rSrg)_QueryLogHandler   c                 Z    / U l         [        R                  R                  " U /UQ70 UD6  g N)queriesloggingHandler__init__)selfargskwargss      g/home/james-whalen/.local/share/pipx/venvs/semgrep/lib/python3.13/site-packages/playhouse/test_utils.pyr   _QueryLogHandler.__init__	   s%      777    c                 \    UR                   S:X  a  U R                  R                  U5        g g )Nr   )namer   append)r   records     r   emit_QueryLogHandler.emit   s%    ;;("LL' #r   )r   N)__name__
__module____qualname____firstlineno__r   r   __static_attributes__ r   r   r   r      s    8(r   r   c                   0    \ rS rSrSS jrS rS rS rSrg)	count_queries   c                     Xl         SU l        g )Nr   )only_selectcount)r   r%   s     r   r   count_queries.__init__   s    &
r   c                 .    U R                   R                  $ r
   )_handlerr   r   s    r   get_queriescount_queries.get_queries   s    }}$$$r   c                     [        5       U l        [        R                  [        R
                  5        [        R                  U R                  5        U $ r
   )r   r)   loggersetLevelr   DEBUG
addHandlerr*   s    r   	__enter__count_queries.__enter__   s3    (*&$--(r   c                 l   [         R                  U R                  5        U R                  (       a[  [	        U R                  R
                   Vs/ s H*  nUR                  S   R                  S5      (       d  M(  UPM,     sn5      U l        g [	        U R                  R
                  5      U l        g s  snf )Nr   zSELECT )	r.   removeHandlerr)   r%   lenr   msg
startswithr&   )r   exc_typeexc_valexc_tbqs        r   __exit__count_queries.__exit__!   s    T]]+)>)> A)>A!"q!4!4Y!?  )> A BDJ T]]223DJAs   'B19B1)r)   r&   r%   NF)	r   r   r   r   r   r+   r2   r=   r   r    r   r   r"   r"      s    %4r   r"   c                   D   ^  \ rS rSrSU 4S jjrS rS rU 4S jrSrU =r	$ )assert_query_count*   c                 4   > [         [        U ]  US9  Xl        g )N)r%   )superrA   r   expected)r   rE   r%   	__class__s      r   r   assert_query_count.__init__+   s     $0[0I r   c                 4   ^ ^ [        T5      UU 4S j5       nU$ )Nc                  p   > T   T" U 0 UD6nS S S 5        TR                  5         W$ ! , (       d  f       N = fr
   )_assert_count)r   kwdsretfr   s      r   	decorated.assert_query_count.__call__.<locals>.decorated0   s5    &&   J	 s   	'
5r   )r   rM   rN   s   `` r   __call__assert_query_count.__call__/   s!    	q	 
	 r   c                     U R                   < SU R                  < 3nU R                   U R                  :X  d   U5       eg )Nz != )r&   rE   )r   	error_msgs     r   rJ    assert_query_count._assert_count:   s/    "&**dmm<	zzT]]*5I5*r   c                 N   > [         [        U ]  XU5        U R                  5         g r
   )rD   rA   r=   rJ   )r   r9   r:   r;   rF   s       r   r=   assert_query_count.__exit__>   s!     $0FKr   )rE   r?   )
r   r   r   r   r   rP   rJ   r=   r   __classcell__)rF   s   @r   rA   rA   *   s    !	6 r   rA   )
	functoolsr   r   	getLoggerr.   r   r   objectr"   rA   r    r   r   <module>r[      sE      
		8	$(w (4F 4. r   