
    }f                     r    d dl mZ d dlZd dlmZmZ d dlmZ d dlm	Z	m
Z
mZmZ erd dlmZ  G d de      Zy)	    )TYPE_CHECKINGN)	ContainerContentLine)
Serializer)arrow_to_isoescape_stringtimedelta_to_durationuid_gen)Todoc                       e Zd ZdddefdZdddefdZdddefdZdddefdZdddefdZdddefd	Z	dddefd
Z
dddefdZdddefdZdddefdZdddefdZdddefdZdddefdZdddefdZdddefdZy)TodoSerializertodor   	containerc                     | j                   r| j                   }nt        j                         }|j                  t	        dt        |                   y )NDTSTAMPvalue)dtstamparrownowappendr   r   )r   r   instants      ^/var/www/feuerwehr-webapp/venv/lib/python3.12/site-packages/ics/serializers/todo_serializer.pyserialize_dtstampz TodoSerializer.serialize_dtstamp   s7    <<llGiikGYl76KLM    c                     | j                   r| j                   }n
t               }|j                  t        d|             y )NUIDr   )uidr
   r   r   )r   r   r   s      r   serialize_uidzTodoSerializer.serialize_uid   s.    88((C)CU#67r   c                 |    | j                   r0|j                  t        dt        | j                                      y y )N	COMPLETEDr   )	completedr   r   r   r   r   s     r   serialize_completedz"TodoSerializer.serialize_completed   s/    >>K|DNN/KL r   c                 |    | j                   r0|j                  t        dt        | j                                      y y )NCREATEDr   )createdr   r   r   r#   s     r   serialize_createdz TodoSerializer.serialize_created%   s,    <<[,t||:TUV r   c                 |    | j                   r0|j                  t        dt        | j                                      y y )NDESCRIPTIONr   )descriptionr   r   r   r#   s     r   serialize_descriptionz$TodoSerializer.serialize_description)   s3    Mt?O?O1PQ r   c                 |    | j                   r0|j                  t        dt        | j                                      y y )NDTSTARTr   )beginr   r   r   r#   s     r   serialize_startzTodoSerializer.serialize_start/   s,    ::[,tzz:RST r   c                 |    | j                   r0|j                  t        dt        | j                                      y y )NLOCATIONr   )locationr   r   r   r#   s     r   serialize_locationz!TodoSerializer.serialize_location3   s/    ==JmDMM.JK r   c                 |    | j                   0|j                  t        dt        | j                                      y y )NzPERCENT-COMPLETEr   )percentr   r   strr#   s     r   serialize_percentz TodoSerializer.serialize_percent9   s0    <<#[);3t||CTUV $r   c                 |    | j                   0|j                  t        dt        | j                                      y y )NPRIORITYr   )priorityr   r   r7   r#   s     r   serialize_priorityz!TodoSerializer.serialize_priority=   s/    ==$[3t}};MNO %r   c                 |    | j                   r0|j                  t        dt        | j                                      y y )NSUMMARYr   )namer   r   r   r#   s     r   serialize_summaryz TodoSerializer.serialize_summaryA   s,    99[-		:RST r   c                 |    | j                   r0|j                  t        dt        | j                                      y y )NURLr   )urlr   r   r   r#   s     r   serialize_urlzTodoSerializer.serialize_urlE   s,    88[mDHH6MNO r   c                 |    | j                   r0|j                  t        dt        | j                                      y y )NDUEr   )	_due_timer   r   r   r#   s     r   serialize_duezTodoSerializer.serialize_dueI   s,    >>[l4>>6RST r   c                     | j                   r2t        | j                         }|j                  t        d|             y y )NDURATIONr   )	_durationr	   r   r   )r   r   representations      r   serialize_durationz!TodoSerializer.serialize_durationM   s1    >>24>>BN[>JK r   c                 d    | j                   D ]!  }|j                  |j                                # y )N)alarmsr   	serialize)r   r   alarms      r   serialize_alarmzTodoSerializer.serialize_alarmR   s*    [[ 	0EU__./	0r   c                 j    | j                   r'|j                  t        d| j                                y y )NSTATUSr   )statusr   r   r#   s     r   serialize_statuszTodoSerializer.serialize_statusV   s'    ;;[EF r   N)__name__
__module____qualname__r   r   r   r$   r(   r,   r0   r4   r8   r<   r@   rD   rH   rM   rR   rV    r   r   r   r      s=   N N9 N8F 8y 8& Y W W9 WF y Uf U U I W W9 WP PI PU U9 UPF Py PUF Uy UL LI L
0f 0 0Gv G) Gr   r   )typingr   r   ics.grammar.parser   r   ics.serializers.serializerr   	ics.utilsr   r   r	   r
   ics.todor   r   rZ   r   r   <module>r`      s3       4 1    JGZ JGr   