Your IP : 216.73.216.213


Current Path : /opt/alt/python37/lib/python3.7/site-packages/logilab/common/__pycache__/
Upload File :
Current File : //opt/alt/python37/lib/python3.7/site-packages/logilab/common/__pycache__/tasksqueue.cpython-37.pyc

B

�d{T��@stdZdZddlmZddlmZdZdZdZeeed�Z	e
dd	�e	��D��ZGd
d�dej
�ZGdd
�d
e�ZdS)zPrioritized tasks queuezrestructuredtext en�)�insort_left)�queue�
�d)�LOW�MEDIUM�HIGHccs|]\}}||fVqdS)N�)�.0�key�valuesr	r	�J/opt/alt/python37/lib/python3.7/site-packages/logilab/common/tasksqueue.py�	<genexpr>#src@s4eZdZdd�Zdd�Zdd�Zdd�Zd	d
�ZdS)�PrioritizedTasksQueuecCs||_g|_dS)z#Initialize the queue representationN)�maxsizer)�selfrr	r	r
�_init)szPrioritizedTasksQueue._initcCsZxHt|j�D]:\}}||kr||kr8|�|�|j|=P|�|�dSqWt|j|�dS)zPut a new item in the queueN)�	enumerater�merger)r�item�i�taskr	r	r
�_put/s

zPrioritizedTasksQueue._putcCs
|j��S)zGet an item from the queue)r�pop)rr	r	r
�_get?szPrioritizedTasksQueue._getcCs
t|j�S)N)�iterr)rr	r	r
�__iter__CszPrioritizedTasksQueue.__iter__cCs@x.t|�D]"\}}|j|kr
|j�|�dSq
Wtd|��dS)z%remove a specific task from the queueNznot task of id %s in queue)r�idrr�
ValueError)r�tidrrr	r	r
�removeFs

zPrioritizedTasksQueue.removeN)�__name__�
__module__�__qualname__rrrrr r	r	r	r
r's
rc@sFeZdZefdd�Zdd�Zdd�Zdd�Zd	d
�Ze	j
Z
dd�Zd
S)�TaskcCs||_||_dS)N)r�priority)rrr%r	r	r
�__init__Psz
Task.__init__cCsd|jt|�fS)Nz<Task %s @%#x>)r)rr	r	r
�__repr__Vsz
Task.__repr__cCst|j|j�S)N)�cmpr%)r�otherr	r	r
�__cmp__YszTask.__cmp__cCs|j|jkS)N)r%)rr)r	r	r
�__lt__\szTask.__lt__cCs|j|jkS)N)r)rr)r	r	r
�__eq___szTask.__eq__cCsdS)Nr	)rr)r	r	r
rdsz
Task.mergeN)r!r"r#rr&r'r*r+r,�object�__hash__rr	r	r	r
r$Osr$N)�__doc__�
__docformat__�bisectrZ	six.movesrrrrZPRIORITY�dict�itemsZREVERSE_PRIORITY�Queuerr-r$r	r	r	r
�<module>s(