o
    .jz                     @  sn   d Z ddlmZ ddlZddlmZ ddlmZ ddlm	Z	m
Z
mZ er*ddlmZ G dd	 d	eZd	gZdS )
zAdapter for VEVENT.    )annotationsN)TYPE_CHECKING)ComponentAdapter)convert_to_datetimeis_datenormalize_pytz)Timec                   @  sH   e Zd ZdZedddZedddZedd	d
ZedddZ	dS )EventAdapterzAn icalendar event adapter.returnstrc                   C  s   dS )zThe icalendar component name.VEVENT r   r   r   Y/home/thesage/.local/lib/python3.10/site-packages/recurring_ical_events/adapters/event.pycomponent_name      zEventAdapter.component_namec                 C  s   d S )DTENDr   selfr   r   r   end_property   r   zEventAdapter.end_propertyr   c                 C  s   | j d jS )zReturn DTSTARTDTSTART)
_componentdtr   r   r   r   	raw_start    s   zEventAdapter.raw_startc                 C  s   | j d}|dur|jS | j d}|dur3| j d j}|jjdkr,t|r,t|d}t||j S | j d j}t|rE|tjdd S |S )z]Yield DTEND or calculate the end of the event based on
        DTSTART and DURATION.
        r   NDURATIONr   r      )days)	r   getr   secondsr   r   r   datetime	timedelta)r   enddurationstartr   r   r   raw_end'   s   
zEventAdapter.raw_endN)r
   r   )r
   r   )
__name__
__module____qualname____doc__staticmethodr   propertyr   r   r#   r   r   r   r   r	      s    r	   )r'   
__future__r   r   typingr   (recurring_ical_events.adapters.componentr   recurring_ical_events.utilr   r   r   recurring_ical_events.typesr   r	   __all__r   r   r   r   <module>   s    
)