403Webshell
Server IP : 127.0.1.1  /  Your IP : 216.73.216.17
Web Server : Apache/2.4.58 (Ubuntu)
System : Linux dalsi.io 6.8.0-117-generic #117-Ubuntu SMP PREEMPT_DYNAMIC Tue May 5 19:26:24 UTC 2026 x86_64
User : www-data ( 33)
PHP Version : 8.3.6
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : OFF
Directory :  /lib/python3/dist-packages/redis/asyncio/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /lib/python3/dist-packages/redis/asyncio/__pycache__/parser.cpython-312.pyc
�

���b�
��X�ddlmZmZmZmZmZmZddlmZm	Z	erddl
mZGd�d�Zy)�)�
TYPE_CHECKING�Any�Dict�Optional�Tuple�Union)�
RedisError�
ResponseError)�ClusterNodec�t�eZdZdZdZd
d�Zddedddfd�Zd	edee	e
d
ffd�Zd	edee	e
d
ffd�Zy)�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�node�returnNc��i|_y�N)r)�selfs �6/usr/lib/python3/dist-packages/redis/asyncio/parser.py�__init__zCommandsParser.__init__s	��?A��
�rrc��K�|r||_|jjd��d{���}|j�D]?\}}d|dvrd||<�|ddk(r|ddk(rd||<�)|ddk(s�2|ddk(s�;d||<�A|j�D��cic]\}}|j�|��c}}|_y7��cc}}w�w)	N�COMMAND�movablekeys�flags����
first_key_posr�last_key_pos�)r�execute_command�items�upperr)rrr�cmd�commands     r�
initializezCommandsParser.initializes�������D�I����2�2�9�=�=��$�N�N�,�	"�L�C����� 0�0� "���
���)�Q�.�7�>�3J�a�3O� !���
���)�Q�.�7�>�3J�a�3O� !���
�
	"�CK�.�.�BR�S�,�#�w�����g�-�S��
�>��T�s.�(C�B9�AC�1C�:C�B;�/C�;C�args.c��*K�t|�dkry	|j|d}|dk(r|dfS|dk(ry|dk(r|j|��d{���S|d}|dkrt|�|z}||d|dz|d�S#t$r�|dj�t	|dd�z}|dj�}||jvr5|j
��d{���7||jvrt|�d���|j|}Y��wxYw7�íw)	N�rrz( command doesn't exist in Redis commandsrrr�
step_count)	�lenr�KeyError�split�listr!r$r	�_get_moveable_keys)rr%r#�cmd_namers     r�get_keyszCommandsParser.get_keys/s?�����t�9�q�=��	.��m�m�D��G�,�G�"�a�<���G�:���a�<���b�=�0��0�0�$�7�7�7��~�.���!���t�9�|�3�L��G�O�,�|�a�/?�'�,�BW�W�X�X��5�	.���7�=�=�?�T�$�q�r�(�^�3�D��A�w�}�}��H��t�}�}�,��o�o�'�'�'��4�=�=�0�$�#�*�$L�M����m�m�H�-�G�	.��*8�s@�D�A;�(D�
D�-D�;AD�C�0D�D�
D�Dc��K�	|jjdg|����d{���}|S7�#t$r$}|j�}d|vsd|vrYd}~y|�d}~wwxYw�w)NzCOMMAND GETKEYSzInvalid argumentsz The command has no key arguments)rrr
�__str__)rr%�keys�e�messages     rr-z!CommandsParser._get_moveable_keysRsi����
	�2����2�2�3D�L�t�L�L�D���M���	��i�i�k�G�#�w�.�5��@�����	�s<�A� -�+�-�A�-�	A�A�A�A�A�A)rNr)
�__name__�
__module__�__qualname__�__doc__�	__slots__rrr$rr�strr/r-�rrr
r
	ss��
�%�I�B�T�X�m�%<�T��T�"!Y�C�!Y�H�U�3��8�_�,E�!Y�F�c��h�u�S�#�X��6O�rr
N)
�typingrrrrrr�redis.exceptionsr	r
�redis.asyncio.clusterrr
r;rr�<module>r?s ��C�C�6��1�U�Ur

Youez - 2016 - github.com/yon3zu
LinuXploit