
    iL                         U d Z ddlZddlZddlZddlZddlZddlmZ daej                  dz  e
d<    ej                  e      Zdej                  dz  fdZd Zy)a  Implementation of the valkey client (valkey-py_).

.. _valkey-py: https://github.com/valkey-io/valkey-py

This implementation uses the :ref:`settings valkey` setup from ``settings.yml``.
A valkey DB connect can be tested by::

  >>> from searx import valkeydb
  >>> valkeydb.initialize()
  True
  >>> db = valkeydb.client()
  >>> db.set("foo", "bar")
  True
  >>> db.get("foo")
  b'bar'
  >>>

    N)get_setting_CLIENTreturnc                      t         S )zDReturns SearXNG's global Valkey DB connector (Valkey client object).)r        /root/searxng/searx/valkeydb.pyclientr
   !   s    Nr   c            	         t        d      rt        j                  dt               t        d      xs t        d      } | sy	 t        j
                  j                  |       at        j                         j                         }|j                  dd        dj                  |j                         D cg c]  \  }}| d| c}}      }t        j                  d|       t        j                          t        j                  d	       y
c c}}w # t        j                   j"                  $ rW d at%        j&                  t)        j*                               }t        j-                  d|j.                  |j0                         Y yw xY w)Nz	redis.urlz/setting redis.url is deprecated, use valkey.urlz
valkey.urlFpassword =zconnecting to Valkey %szconnected to ValkeyTz%[%s (%s)] can't connect valkey DB ...)r   warningswarnDeprecationWarningvalkeyValkeyfrom_urlr   get_connection_kwargscopypopjoinitemsloggerinfoping
exceptionsValkeyErrorpwdgetpwuidosgetuid	exceptionpw_namepw_uid)
valkey_urlkwargskv_pws        r	   
initializer+   &   s*   ;GI[\\*Fk+.FJ[--((4 ..0557

:t$FLLNCDAqaS!<CD-v6 	 	)* D (( [ll299;'@#++szzZ	[s'   A1D 3D
AD D A1FF)__doc__r!   r   loggingr   r   searxr   r   r   __annotations__	getLogger__name__r   r
   r+   r   r   r	   <module>r2      s]   & 
 
     $	 $			8	$$ 
r   