Your IP : 216.73.216.213


Current Path : /opt/alt/python35/lib/python3.5/site-packages/aioredis/commands/__pycache__/
Upload File :
Current File : //opt/alt/python35/lib/python3.5/site-packages/aioredis/commands/__pycache__/set.cpython-35.pyc



�(Z��@s3ddlmZmZmZGdd�d�ZdS)�)�wait_convert�_NOTSET�	_ScanIterc@seZdZdZdd�Zdd�Zdd�Zdd	�Zd
d�Zdd
�Z	dd�Z
dedd�Zdd�Z
dedd�Zddedd�Zdd�Zdd�Zdd�Zd ddd!d"�Zd#dd$dd%d&�ZdS)'�SetCommandsMixinzTSet commands mixin.

    For commands details see: http://redis.io/commands#set
    cGs|jd|||�S)z!Add one or more members to a set.sSADD)�execute)�self�key�member�members�r�F/opt/alt/python35/lib/python3.5/site-packages/aioredis/commands/set.py�sadd
szSetCommandsMixin.saddcCs|jd|�S)z#Get the number of members in a set.sSCARD)r)rrrrr�scardszSetCommandsMixin.scardcGs|jd||�S)zSubtract multiple sets.sSDIFF)r)rr�keysrrr�sdiffszSetCommandsMixin.sdiffcGs|jd|||�S)z<Subtract multiple sets and store the resulting set in a key.s
SDIFFSTORE)r)r�destkeyrrrrr�
sdiffstoreszSetCommandsMixin.sdiffstorecGs|jd||�S)zIntersect multiple sets.sSINTER)r)rrrrrr�sinterszSetCommandsMixin.sintercGs|jd|||�S)z=Intersect multiple sets and store the resulting set in a key.sSINTERSTORE)r)rrrrrrr�sinterstoreszSetCommandsMixin.sinterstorecCs|jd||�S)z0Determine if a given value is a member of a set.s	SISMEMBER)r)rrr	rrr�	sismember"szSetCommandsMixin.sismember�encodingcCs|jd|d|�S)zGet all the members in a set.sSMEMBERSr)r)rrrrrr�smembers&szSetCommandsMixin.smemberscCs|jd|||�S)z&Move a member from one set to another.sSMOVE)r)rZ	sourcekeyrr	rrr�smove*szSetCommandsMixin.smovecCs|jd|d|�S)z-Remove and return a random member from a set.sSPOPr)r)rrrrrr�spop.szSetCommandsMixin.spopNcCs8|g}|dk	o!|j|�|jd|d|�S)z.Get one or multiple random members from a set.NsSRANDMEMBERr)�appendr)rr�countr�argsrrr�srandmember2s	zSetCommandsMixin.srandmembercGs|jd|||�S)z&Remove one or more members from a set.sSREM)r)rrr	r
rrr�srem8szSetCommandsMixin.sremcGs|jd||�S)zAdd multiple sets.sSUNION)r)rrrrrr�sunion<szSetCommandsMixin.sunioncGs|jd|||�S)z7Add multiple sets and store the resulting set in a key.sSUNIONSTORE)r)rrrrrrr�sunionstore@szSetCommandsMixin.sunionstorercCso||g}|dk	o*|jd|g�|dk	oI|jd|g�|jd|�}t|dd��S)z#Incrementally iterate Set elements.NsMATCHsCOUNTsSSCANcSst|d�|dfS)Nr�)�int)�objrrr�<lambda>Jsz(SetCommandsMixin.sscan.<locals>.<lambda>)�extendrr)rrZcursor�matchr�tokensZfutrrr�sscanDs
zSetCommandsMixin.sscanr&rcst����fdd��S)z�Incrementally iterate set elements using async for.

        Usage example:

        >>> async for val in redis.isscan(key, match='something*'):
        ...     print('Matched:', val)

        cs�j�|d�d��S)Nr&r)r()�cur)rrr&rrrr$Usz)SetCommandsMixin.isscan.<locals>.<lambda>)r)rrr&rr)rrr&rr�isscanLs	zSetCommandsMixin.isscan)�__name__�
__module__�__qualname__�__doc__r
rrrrrrrrrrrrrr r(r*rrrrrs"rN)Z
aioredis.utilrrrrrrrr�<module>s