o
    .j                     @   s<   d dl mZ d dlmZ d dlmZ G dd dZdgZdS )    )date)ClassVar)
Parametersc                   @   sZ   e Zd ZU dZee ed< eed< ddhZdd Z	dd	 Z
d
dlmZmZmZ dd ZdS )TimeBasez-Make classes with a datetime/date comparable.default_valueparamsTZIDVALUEc                 C   s   t |tr
| j|kS t |trCt }t| jt|jB | j D ]}|dd  dkr<| j	|||j	||kr< dS q| j|jkS ddl
m} t ||rR|| kS dS )zself == otherN   zx-F   )	vDDDLists)
isinstancer   dtr   objectsetr   ignore_for_equalitylowergetlistr   )selfotherdefaultkeyr    r   K/home/thesage/.local/lib/python3.10/site-packages/icalendar/prop/dt/base.py__eq__   s&   



zTimeBase.__eq__c                 C   s
   t | jS )N)hashr   r   r   r   r   __hash__"   s   
zTimeBase.__hash__r   )RANGERELATEDr   c                 C   s   | j j d| j d| j dS )zString representation.(z, ))	__class____name__r   r   r   r   r   r   __repr__'   s   zTimeBase.__repr__N)r$   
__module____qualname____doc__r   str__annotations__r   r   r   r   icalendar.paramr   r    r   r%   r   r   r   r   r      s   
 r   N)datetimer   typingr   icalendar.parserr   r   __all__r   r   r   r   <module>   s
    
%