File: //proc/self/root/usr/lib/python3.9/site-packages/redis/asyncio/__pycache__/parser.cpython-39.pyc
a
��b�
� @ sR d dl mZmZmZmZmZmZ d dlmZm Z er@d dl
mZ G dd� d�ZdS )� )�
TYPE_CHECKING�Any�Dict�Optional�Tuple�Union)�
RedisError�
ResponseError)�ClusterNodec @ sp e Zd ZdZdZdd�dd�Zded dd�d d
�Zeee e
df d�d
d�Zeee e
df d�dd�ZdS )�CommandsParsera%
Parses Redis commands to get command keys.
COMMAND output is used to determine key locations.
Commands that do not have a predefined key location are flagged with 'movablekeys',
and these commands' keys are determined by the command 'COMMAND GETKEYS'.
NOTE: Due to a bug in redis<7.0, this does not work properly
for EVAL or EVALSHA when the `numkeys` arg is 0.
- issue: https://github.com/redis/redis/issues/9493
- fix: https://github.com/redis/redis/pull/9733
So, don't use this with EVAL or EVALSHA.
)�commands�nodeN)�returnc C s
i | _ d S )N)r )�self� r �8/usr/lib/python3.9/site-packages/redis/asyncio/parser.py�__init__ s zCommandsParser.__init__r
)r
r c � s� |r
|| _ | j �d�I d H }|�� D ]`\}}d|d v rBd||<