
    3fi	                     z    d dl mZmZmZ d dlmZ d dlmZmZm	Z	m
Z
mZmZ  eddddd	       G d
 de             Zy)    )DictTupleUnion)
deprecated)
Comparator
Comparison	OperationOperatorStructuredQueryVisitorz0.3.23z1.0zThis class is deprecated and will be removed in a future version. Please use query_constructors.HanaTranslator from the langchain_hana package instead. See https://github.com/SAP/langchain-integration-for-sap-hana-cloud for details.z=from langchain_hana.query_constructors import HanaTranslator;F)sinceremovalmessagealternativependingc            	       `   e Zd ZdZej
                  ej                  gZ	 ej                  ej                  ej                  ej                  ej                  ej                  ej                  ej                   ej"                  g	Zdeeef   defdZdedefdZdedefdZd	edeeef   fd
Zy)HanaTranslatoraK  
    **DEPRECATED**: This class is deprecated and will no longer be maintained.
    Please use query_constructors.HanaTranslator from the langchain_hana
    package instead. It offers an improved implementation and full support.

    Translate internal query language elements to valid filters params for
    HANA vectorstore.
    funcreturnc                 B    | j                  |       d|j                   S )N$)_validate_funcvalue)selfr   s     o/var/www/auto_recruiter/arenv/lib/python3.12/site-packages/langchain_community/query_constructors/hanavector.py_format_funczHanaTranslator._format_func5   s!    D!4::,    	operationc                     |j                   D cg c]  }|j                  |        }}| j                  |j                        |iS c c}w N)	argumentsacceptr   operator)r   r   argargss       r   visit_operationzHanaTranslator.visit_operation9   sF    ,5,?,?@S

4 @@!!)"4"45t<< As   A
comparisonc                 h    |j                   | j                  |j                        |j                  iiS r    )	attributer   
comparatorr   )r   r'   s     r   visit_comparisonzHanaTranslator.visit_comparison=   s6      !!*"7"78*:J:J#
 	
r   structured_queryc                 v    |j                   i }nd|j                   j                  |       i}|j                  |fS )Nfilter)r.   r"   query)r   r,   kwargss      r   visit_structured_queryz%HanaTranslator.visit_structured_queryD   sB     ""*F 0 7 7 > >t DEF%%v--r   N)__name__
__module____qualname____doc__r
   ANDORallowed_operatorsr   EQNEGTLTGTELTEINNINLIKEallowed_comparatorsr   strr   r	   r   r&   r   r+   r   r   dictr1    r   r   r   r      s     "x{{3. x';!<    = =t =
: 
$ 
. /.	sDy	.r   r   N)typingr   r   r   langchain_core._apir   langchain_core.structured_queryr   r   r	   r
   r   r   r   rE   r   r   <module>rI      sL    % % *  
	 P/.W /./.r   