File: //opt/saltstack/salt/extras-3.10/redis/_parsers/__pycache__/base.cpython-310.pyc
o
��e8 � @ s, d dl Z d dlmZ d dlmZmZmZ d dlmZm Z m
Z
e jjdkr1e jj
dkr1d dlmZ nd dlmZ dd lmZmZmZmZmZmZmZmZmZmZmZmZ dd
lmZ ddlmZ dd
l m!Z!m"Z" dZ#dZ$dZ%dZ&eed�Z'G dd� de�Z(G dd� de(�Z)G dd� de(�Z*G dd� de*�Z+dS )� N)�ABC)�IncompleteReadError�StreamReader�TimeoutError)�List�Optional�Union� � )�timeout� )�AuthenticationError�$AuthenticationWrongNumberOfArgsError�BusyLoadingError�ConnectionError�ExecAbortError�ModuleError�NoPermissionError�
NoScriptError�OutOfMemoryError�
ReadOnlyError�
RedisError�
ResponseError)�
EncodableT� )�Encoder)�SERVER_CLOSED_CONNECTION_ERROR�SocketBufferz:Error loading the extension. Please check the server logs.z5Error unloading module: no such module with that namez/Error unloading module: operation not possible.z[Error unloading module: the module exports one or more module-side data types, can't unload)zxAUTH <password> called without any password configured for the default user. Are you sure your configuration is correct?z(Client sent AUTH, but no password is setc @ sd e Zd Zdedededeeeeee ee
eie�eee
eeeeed� Zedd� �Zdd � Zd
d� ZdS )
�
BaseParserzmax number of clients reachedzinvalid passwordz,wrong number of arguments for 'auth' commandz,wrong number of arguments for 'AUTH' command) �ERRZOOMZ WRONGPASSZ EXECABORTZLOADINGZNOSCRIPTZREADONLYZNOAUTHZNOPERMc C s\ |� d�d }|| jv r*|t|�d d� }| j| }t|t�r&|�|t�}||�S t|�S )zParse an error response� r r N)�split�EXCEPTION_CLASSES�len�
isinstance�dict�getr )�cls�response�
error_codeZexception_class� r* �6/opt/saltstack/salt/extras-3.10/redis/_parsers/base.py�parse_errorM s
zBaseParser.parse_errorc C � t � ��N��NotImplementedError��selfr* r* r+ �
on_disconnectY � zBaseParser.on_disconnectc C r- r. r/ �r2 �
connectionr* r* r+ �
on_connect\ r4 zBaseParser.on_connectN)�__name__�
__module__�__qualname__r r
r �MODULE_LOAD_ERRORr �MODULE_EXPORTS_DATA_TYPES_ERROR�NO_SUCH_MODULE_ERROR� MODULE_UNLOAD_NOT_POSSIBLE_ERROR�NO_AUTH_SET_ERRORr r r r r r r"