o
    Š¨Êh`	  ã                   @   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   úK/var/www/html/env/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    