
    +h`	                     $    d dl mZ  G d d      Zy)   )quote_stringc                   *    e Zd ZdZddZd Zd Zd Zy)Nodez"
    A node within the graph.
    Nc           	         || _         || _        t        |t              r|D cg c]
  }|dk7  s	| }}|#|dk(  st        |t              rt	        |      dk(  rd| _        d| _        ntt        |t              r|| _        |g| _        nTt        |t              r9t        |D cg c]  }t        |t               c}      r|d   | _        || _        nt        d      |xs i | _
        yc c}w c c}w )z$
        Create a new node.
         N    z8label should be either None, string or a list of strings)idalias
isinstancelistlenlabellabelsstrallAssertionError
properties)selfnode_idr
   r   r   inner_labels         L/var/www/html/venv/lib/python3.12/site-packages/redis/commands/graph/node.py__init__zNode.__init__	   s     
eT"49O[[B=N[OEO M{5$'CJ!ODJDKs#DJ 'DKt$=BCkZS)C*
 qDJDK J  %*- P Ds   
C(C(!C-c                     d}| j                   rDdj                  d t        | j                   j                               D              }|d|z   dz   z  }|S )Nr   ,c              3   V   K   | ]!  \  }}|d z   t        t        |            z    # yw:Nr   r   .0keyvals      r   	<genexpr>z!Node.to_string.<locals>.<genexpr>+   /      C c	CS 122   '){})r   joinsorteditemsr   respropss      r   	to_stringzNode.to_string(   sU    ??HH  &t'<'<'> ? E 3;$$C
    c                 D   d}| j                   r|| j                   z  }| j                  r!|ddj                  | j                        z   z  }| j                  rDdj                  d t	        | j                  j                               D              }|d|z   dz   z  }|dz  }|S )N(r   r   c              3   V   K   | ]!  \  }}|d z   t        t        |            z    # ywr   r   r   s      r   r#   zNode.__str__.<locals>.<genexpr>:   r$   r%   r&   r'   ))r
   r   r(   r   r)   r*   r+   s      r   __str__zNode.__str__3   s    ::4::C;;3$++...C??HH  &t'<'<'> ? E 3;$$Cs

r/   c                 J   t        |t              sy| j                  &|j                  | j                  |j                  k7  ry| j                  |j                  k7  ryt	        | j
                        t	        |j
                        k7  ry| j
                  |j
                  k7  ryy)NFT)r   r   r	   r   r   r   )r   rhss     r   __eq__zNode.__eq__C   s    #t$ 77366#5$''SVV:K ::" t3s~~#66 ??cnn,r/   )NNNN)__name__
__module____qualname____doc__r   r.   r4   r7    r/   r   r   r      s    +>	 r/   r   N)helpersr   r   r<   r/   r   <module>r>      s    "T Tr/   