
    Pf`	                     ,    d dl mZ  G d d          ZdS )   )quote_stringc                   ,    e Zd ZdZddZd Zd Zd ZdS )Nodez"
    A node within the graph.
    Nc                    || _         || _        t          |t                    rd |D             }|.|dk    s(t          |t                    r"t	          |          dk    rd| _        d| _        nwt          |t                    r|| _        |g| _        nRt          |t                    r.t          d |D                       r|d         | _        || _        nt          d          |pi | _
        dS )z$
        Create a new node.
        c                     g | ]
}|d k    |S )  .0inner_labels     K/var/www/html/env/lib/python3.11/site-packages/redis/commands/graph/node.py
<listcomp>z!Node.__init__.<locals>.<listcomp>   s"    OOO[[B=N=N[=N=N=N    Nr       c                 8    g | ]}t          |t                    S r	   )
isinstancestrr
   s     r   r   z!Node.__init__.<locals>.<listcomp>   s"    CCCkZS))CCCr   z8label should be either None, string or a list of strings)idaliasr   listlenlabellabelsr   allAssertionError
properties)selfnode_idr   r   r   s        r   __init__zNode.__init__	   s    
eT"" 	POOEOOOE M{{5$'' ,/JJ!OODJDKKs## 	DJ 'DKKt$$ 	CCUCCC*
 *
 	 qDJDKK J   %*r   c                     d}| j         rNd                    d t          | j                                                   D                       }|d|z   dz   z  }|S )Nr   ,c              3   `   K   | ])\  }}|d z   t          t          |                    z   V  *dS :Nr   r   r   keyvals      r   	<genexpr>z!Node.to_string.<locals>.<genexpr>+   S        C c	CS 1 1222     r   {})r   joinsorteditemsr   respropss      r   	to_stringzNode.to_string(   sp    ? 	%HH   &t'<'<'>'> ? ?    E 3;$$C
r   c                 .   d}| j         r
|| j         z  }| j        r |dd                    | j                  z   z  }| j        rNd                    d t	          | j                                                  D                       }|d|z   dz   z  }|dz  }|S )N(r$   r!   c              3   `   K   | ])\  }}|d z   t          t          |                    z   V  *dS r#   r%   r&   s      r   r)   zNode.__str__.<locals>.<genexpr>:   r*   r   r+   r,   ))r   r   r-   r   r.   r/   r0   s      r   __str__zNode.__str__3   s    : 	4:C; 	/3$+....C? 	%HH   &t'<'<'>'> ? ?    E 3;$$Cs

r   c                    t          |t                    sdS | j        |j        | j        |j        k    rdS | j        |j        k    rdS t	          | j                  t	          |j                  k    rdS | j        |j        k    rdS dS )NFT)r   r   r   r   r   r   )r   rhss     r   __eq__zNode.__eq__C   s    #t$$ 	5 736#5$'SV:K:K5 :""5 t3s~#6#6665 ?cn,,5tr   )NNNN)__name__
__module____qualname____doc__r   r3   r8   r;   r	   r   r   r   r      s_         + + + +>	 	 	       r   r   N)helpersr   r   r	   r   r   <module>rA      sS    " " " " " "T T T T T T T T T Tr   