o
    ÑtPf”
  ã                   @   s`   d dl mZmZmZ d dlmZ d dlmZ ddlm	Z	 ddl
mZ dd„ ZG d	d
„ d
e	ƒZdS )é    )Úabsolute_importÚprint_functionÚdivision©Úwraps)Ú_get_hubé   )ÚQuietHub)Úget_switch_expectedc                    s   t ˆ ƒ‡ fdd„ƒ}|S )Nc                    sØ   t tƒ dd ƒ}t | ddƒ| _|d ur$t | dd ƒ}| jdkr$|r$t|ƒ| _ˆ | g|¢R i |¤Ž}|d urj| jd urjtƒ j| }| jdu rS|dksIJ ‚|sQtd| ƒ‚|S | jdu rb|r`td	| ƒ‚|S td
| jf ƒ‚|S )NÚswitch_countÚswitch_expectedTÚfullnameÚdefaultr   z%s did not switchFz%s switched but not expected toz%Invalid value for switch_expected: %r)Úgetattrr   r   r
   r   ÚAssertionError)ÚselfÚargsÚkwargsÚinitial_switch_countr   Úresultr   ©Úmethod© úY/var/www/html/humari/django-venv/lib/python3.10/site-packages/gevent/testing/switching.pyÚwrapper   s(   


ûÿz(wrap_switch_count_check.<locals>.wrapperr   )r   r   r   r   r   Úwrap_switch_count_check   s   r   c                   @   s   e Zd ZdZdd„ ZdS )ÚCountingHubr   c                 G   s    |  j d7  _ tj| g|¢R Ž S )Nr   )r   r	   Úswitch)r   r   r   r   r   r   =   s   zCountingHub.switchN)Ú__name__Ú
__module__Ú__qualname__r   r   r   r   r   r   r   9   s    r   N)Ú
__future__r   r   r   Ú	functoolsr   Ú
gevent.hubr   Úhubr	   Úpatched_tests_setupr
   r   r   r   r   r   r   Ú<module>   s   