o
    Š¨Êhœ	  ã                   @   s*   d dl mZ ddlmZ G dd„ dƒZdS )é   )Úquote_stringé   )ÚNodec                   @   s2   e Zd ZdZddd„Zdd„ Zdd„ Zd	d
„ ZdS )ÚEdgez'
    An edge connecting two nodes.
    Nc                 C   sB   |du s|du rt dƒ‚|| _|pd| _|pi | _|| _|| _dS )z$
        Create a new edge.
        Nz*Both src_node & dest_node must be providedÚ )ÚAssertionErrorÚidÚrelationÚ
propertiesÚsrc_nodeÚ	dest_node)Úselfr   r	   r   Úedge_idr
   © r   úK/var/www/html/env/lib/python3.10/site-packages/redis/commands/graph/edge.pyÚ__init__
   s   


zEdge.__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©Ústrr   ©Ú.0ÚkeyÚvalr   r   r   Ú	<genexpr>   ó
   € ÿ
ÿz!Edge.to_string.<locals>.<genexpr>Ú{Ú})r
   ÚjoinÚsortedÚitems©r   ÚresÚpropsr   r   r   Ú	to_string   s   
þzEdge.to_stringc                 C   sž   t | jtƒrt| jƒ}nd}|d7 }| jr|d| j 7 }| jr6d dd„ t| j ¡ ƒD ƒ¡}|d| d 7 }|d	7 }t | j	tƒrI|t| j	ƒ7 }|S |d7 }|S )
Nz()z-[r   r   c                 s   r   r   r   r   r   r   r   r   0   r   zEdge.__str__.<locals>.<genexpr>r   r   z]->)
Ú
isinstancer   r   r   r	   r
   r    r!   r"   r   r#   r   r   r   Ú__str__$   s"   
þþzEdge.__str__c                 C   sŽ   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 | j|jkr)dS | j|jkr1dS t| jƒt|jƒkr=dS | j|jkrEdS dS )NFT)r'   r   r   r   r   r	   Úlenr
   )r   Úrhsr   r   r   Ú__eq__?   s   
 zEdge.__eq__)NN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__r   r&   r(   r+   r   r   r   r   r      s    
r   N)Úhelpersr   Únoder   r   r   r   r   r   Ú<module>   s    