�
J�g� � � � d dl Z d dlmZ d dlmZ d dlmZmZmZm Z d dl
Z
ee
j �
d� � d � � dk Zes ed� � �n
# e$ r dZY nw xY w d dlZd Zn
# e$ r dZY nw xY w d dlZd Zn
# e$ r dZY nw xY wd d
lmZ d� Zed� � � Zd
e eef defd�Zd� Zdeeef deeef fd�Zd� Zd� Zd"d�Zd#d�Z d� Z!d� Z"dede#defd�Z$dededefd �Z%d!� Z&dS )$� N)�contextmanager��wraps)�Any�Dict�Mapping�Union�.� z"hiredis package should be >= 3.0.0FT)�metadatac �* � ddl m} |j | fi |��S )z�
Returns an active Redis client generated from the given database URL.
Will attempt to extract the database id from the path url fragment, if
none is provided.
r )�Redis)�redis.clientr �from_url)�url�kwargsr s �[/home/asafur/pinokio/api/open-webui.git/app/env/lib/python3.11/site-packages/redis/utils.pyr r ! s0 � � #�"�"�"�"�"��5�>�#�(�(��(�(�(� c # �b K � | � � � }|V � |� � � d S �N)�pipeline�execute)� redis_obj�ps r r r - s1 � � � ������A�
�G�G�G��I�I�K�K�K�K�Kr �value�returnc �^ � t | t � � r| � dd�� � n| S )N�utf-8�replace)�errors)�
isinstance�bytes�decode�r s r �str_if_bytesr% 4 s/ � �3=�e�U�3K�3K�V����W�Y��/�/�/�QV�r c �: � t t | � � � � S r )�strr% r$ s r �safe_strr( : s � ��|�E�"�"�#�#�#r �dictsc �>