
    Pf	                     H    d dl mZ  G d de          Z G d d          ZdS )    )Enumc                       e Zd ZdZdZdZdS )	IndexTypez,Enum of the currently supported index types.      N)__name__
__module____qualname____doc__HASHJSON     W/var/www/html/env/lib/python3.11/site-packages/redis/commands/search/indexDefinition.pyr   r      s        66DDDDr   r   c                   N    e Zd ZdZg dddddddfdZd Zd Zd Zd Zd	 Z	d
 Z
dS )IndexDefinitionzgIndexDefinition is used to define a index definition for automatic
    indexing on Hash or Json update.Ng      ?c	                    g | _         |                     |           |                     |           |                     |           |                     ||           |                     ||           |                     |           d S )N)args_append_index_type_append_prefix_append_filter_append_language_append_score_append_payload)	selfprefixfilterlanguage_fieldlanguagescore_fieldscorepayload_field
index_types	            r   __init__zIndexDefinition.__init__   s     	
+++F###F###nh777;...]+++++r   c                    |t           j        u r| j                            ddg           dS |t           j        u r| j                            ddg           dS |$t          dt          t                                dS )z4Append `ON HASH` or `ON JSON` according to the enum.ONr   r   Nzindex_type must be one of )r   r   r   extendr   RuntimeErrorlist)r   r#   s     r   r   z"IndexDefinition._append_index_type"   s    ''IdF^,,,,,9>))IdF^,,,,,#MDOOMMNNN $#r   c                     t          |          dk    r`| j                            d           | j                            t          |                     |D ]}| j                            |           dS dS )zAppend PREFIX.r   PREFIXN)lenr   append)r   r   ps      r   r   zIndexDefinition._append_prefix+   s|    v;;??IX&&&IS[[))) $ $	  ####	 ?$ $r   c                 v    |6| j                             d           | j                             |           dS dS )zAppend FILTER.NFILTERr   r-   )r   r   s     r   r   zIndexDefinition._append_filter3   sB    IX&&&IV$$$$$ r   c                     |4| j                             d           | j                             |           |6| j                             d           | j                             |           dS dS )z#Append LANGUAGE_FIELD and LANGUAGE.NLANGUAGE_FIELDLANGUAGEr1   )r   r   r   s      r   r   z IndexDefinition._append_language9   su    %I-...I^,,,IZ(((IX&&&&&  r   c                     |4| j                             d           | j                             |           |6| j                             d           | j                             |           dS dS )zAppend SCORE_FIELD and SCORE.NSCORE_FIELDSCOREr1   )r   r    r!   s      r   r   zIndexDefinition._append_scoreB   st    "I]+++I[)))IW%%%IU##### r   c                 v    |6| j                             d           | j                             |           dS dS )zAppend PAYLOAD_FIELD.NPAYLOAD_FIELDr1   )r   r"   s     r   r   zIndexDefinition._append_payloadK   sB    $I_---I]+++++ %$r   )r   r	   r
   r   r$   r   r   r   r   r   r   r   r   r   r   r      s        ( (
 , , , ,&O O O$ $ $% % %' ' '$ $ $, , , , ,r   r   N)enumr   r   r   r   r   r   <module>r;      s}                D, D, D, D, D, D, D, D, D, D,r   