o
    þâfä  ã                   @   s   d dl mZ G dd„ dƒZdS )é    )Úlongc                   @   sR   e Zd ZdZddd„Zddd„Zddd	„Zd
d„ Zdd„ ZeZ	dd„ Z
dd„ ZdS )Úcounterzgeneral-purpose counterr   c                 C   s
   || _ d S ©N©Úvalue)ÚselfÚinitial_value© r	   úL/var/www/html/venv/lib/python3.10/site-packages/supervisor/medusa/counter.pyÚ__init__   ó   
zcounter.__init__é   c                 C   s>   | j }z	| j | | _ W |S  ty   t| j ƒ| | _ Y |S w r   ©r   ÚOverflowErrorr   ©r   ÚdeltaÚresultr	   r	   r
   Ú	increment   ó   þþzcounter.incrementc                 C   s>   | j }z	| j | | _ W |S  ty   t| j ƒ| | _ Y |S w r   r   r   r	   r	   r
   Ú	decrement   r   zcounter.decrementc                 C   s
   t | jƒS r   )r   r   ©r   r	   r	   r
   Úas_long'   r   zcounter.as_longc                 C   s
   | j dkS )Nr   r   r   r	   r	   r
   Ú__nonzero__*   r   zcounter.__nonzero__c                 C   s   d| j t| ƒf S )Nz<counter value=%s at %x>)r   Úidr   r	   r	   r
   Ú__repr__/   s   zcounter.__repr__c                 C   s.   t t| jƒƒ}|dd … dkr|d d… }|S )NéÿÿÿÿÚL)Ústrr   r   )r   Úsr	   r	   r
   Ú__str__2   s   zcounter.__str__N)r   )r   )Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r   r   r   r   Ú__bool__r   r   r	   r	   r	   r
   r      s    


r   N)Úsupervisor.compatr   r   r	   r	   r	   r
   Ú<module>   s   