o
    `f`	                     @   s   d dl mZ G dd dZdS )   )quote_stringc                   @   s2   e Zd ZdZdddZdd Zdd Zd	d
 ZdS )Nodez"
    A node within the graph.
    Nc                 C   s   || _ || _t|trdd |D }|du s%|dks%t|tr,t|dkr,d| _d| _n(t|tr9|| _|g| _nt|trPtdd |D rP|d | _|| _nt	d|pWi | _
dS )z$
        Create a new node.
        c                 S   s   g | ]}|d kr|qS )  .0inner_labelr   r   R/home/ubuntu/webapp/venv/lib/python3.10/site-packages/redis/commands/graph/node.py
<listcomp>   s    z!Node.__init__.<locals>.<listcomp>Nr       c                 S   s   g | ]}t |tqS r   )
isinstancestrr   r   r   r	   r
      s    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   r   r   r	   __init__	   s.   



zNode.__init__c                 C   s<   d}| j rddd t| j  D }|d| d 7 }|S )Nr   ,c                 s   (    | ]\}}|d  t t| V  qdS :Nr   r   r   keyvalr   r   r	   	<genexpr>+   
    
z!Node.to_string.<locals>.<genexpr>{})r   joinsorteditemsr   respropsr   r   r	   	to_string(   s   
zNode.to_stringc                 C   sn   d}| j r
|| j 7 }| jr|dd| j 7 }| jr1ddd t| j D }|d| d 7 }|d7 }|S )	N(r   r   c                 s   r   r   r   r   r   r   r	   r"   :   r#   zNode.__str__.<locals>.<genexpr>r$   r%   ))r   r   r&   r   r'   r(   r)   r   r   r	   __str__3   s   

zNode.__str__c                 C   sn   t |tsdS | jd ur|jd ur| j|jkrdS | j|jkr!dS t| jt|jkr-dS | j|jkr5dS dS )NFT)r   r   r   r   r   r   )r   rhsr   r   r	   __eq__C   s   
 zNode.__eq__)NNNN)__name__
__module____qualname____doc__r   r,   r/   r1   r   r   r   r	   r      s    
r   N)helpersr   r   r   r   r   r	   <module>   s    