o
    ÌÄ.j¡
  ã                   @   sZ   d Z ddlmZ ddlmZmZ ddlmZ ddlm	Z	m
Z
mZ G dd„ deƒZdgZdS )	zAdapter for VTODO.é    )ÚComponentAdapter)ÚDATE_MAX_DTÚDATE_MIN_DT)ÚTime)Úconvert_to_datetimeÚis_dateÚnormalize_pytzc                   @   sX   e Zd ZdZedefdd„ƒZedefdd„ƒZede	fdd„ƒZ
ede	fd	d
„ƒZdS )ÚTodoAdapterzUnified access to TODOs.Úreturnc                   C   s   dS )zThe icalendar component name.ÚVTODO© r   r   r   úX/home/thesage/.local/lib/python3.10/site-packages/recurring_ical_events/adapters/todo.pyÚcomponent_name   ó   zTodoAdapter.component_namec                 C   s   d S )ÚDUEr   )Úselfr   r   r   Úend_property   r   zTodoAdapter.end_propertyc                 C   s8   | j  d¡}|dur|jS | j  d¡}|dur|jS tS )z7Return DTSTART if it set, do not panic if it's not set.ÚDTSTARTNr   )Ú
_componentÚgetÚdtr   )r   ÚstartÚduer   r   r   Ú	raw_start   s   zTodoAdapter.raw_startc                 C   s‚   | j  d¡}|dur|jS | j  d¡}| j  d¡}|dur:|dur:|j}|jjdkr3t|ƒr3t|dƒ}t||j ƒS |r?|jS tS )z+Return DUE or DTSTART+DURATION or somethingr   Nr   ÚDURATIONr   )r   r   r   Úsecondsr   r   r   r   )r   ÚendÚdtstartÚdurationr   r   r   r   Úraw_end+   s   
	zTodoAdapter.raw_endN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚstaticmethodÚstrr   Úpropertyr   r   r   r   r   r   r   r   r	      s    r	   N)r#   Ú(recurring_ical_events.adapters.componentr   Úrecurring_ical_events.constantsr   r   Úrecurring_ical_events.typesr   Úrecurring_ical_events.utilr   r   r   r	   Ú__all__r   r   r   r   Ú<module>   s    
C