
    }fC                     ^    d dl mZmZ d dlmZ d dlmZ d dlmZm	Z	m
Z
mZmZ  G d de      Zy)    )Attendee	Organizer)ContentLine)
Serializer)arrow_date_to_isoarrow_to_isoescape_stringtimedelta_to_durationuid_genc                   ~    e Zd Zd Zd Zd Zd Zd Zd Zd Z	d Z
d	 Zd
 Zd Zd Zd Zd Zd Zd Zd Zd Zd Zy)EventSerializerc                 |    | j                   r0|j                  t        dt        | j                                      y y )NDTSTAMPvalue)createdappendr   r   event	containers     _/var/www/feuerwehr-webapp/venv/lib/python3.12/site-packages/ics/serializers/event_serializer.pyserialize_createdz!EventSerializer.serialize_created	   s,    ==[,u}}:UVW     c                     | j                   r2| j                   }|j                  t        dt        |                   y y )NzLAST-MODIFIEDr   )last_modifiedr   r   r   )r   r   instants      r   serialize_last_modifiedz'EventSerializer.serialize_last_modified   s5    ))G[W@UVW r   c                     | j                   r=| j                  s0|j                  t        dt	        | j                                      y y y )NDTSTARTr   )beginall_dayr   r   r   r   s     r   serialize_startzEventSerializer.serialize_start   s4    ;;u}}[,u{{:STU  -;r   c           	         | j                   r| j                  rt|j                  t        dddgit	        | j                                      | j
                  r4|j                  t        dddgit	        | j                                     y y y y )Nr   VALUEDATE)paramsr   DTEND)r    r!   r   r   r   	_end_timeendr   s     r   serialize_all_dayz!EventSerializer.serialize_all_day   s    ;;5==#fX.+EKK8    '&2/		:  );r   c                     | j                   r?| j                  r2t        | j                         }|j                  t	        d|             y y y )NDURATIONr   )	_durationr    r
   r   r   )r   r   representations      r   serialize_durationz"EventSerializer.serialize_duration(   s9    ??u{{25??CN[>JK  +?r   c                     | j                   rJ| j                  r=| j                  s0|j                  t	        dt        | j                                     y y y y )Nr'   r   )r    r(   r!   r   r   r   r)   r   s     r   serialize_endzEventSerializer.serialize_end-   s=    ;;5??5==[UYY8OPQ 4A?;r   c                 |    | j                   r0|j                  t        dt        | j                                      y y )NSUMMARYr   )namer   r   r	   r   s     r   serialize_summaryz!EventSerializer.serialize_summary1   s,    ::[-

:STU r   c                     | j                   rG| j                   }t        |t              rt        |      }|j	                  |j                                y y N)	organizer
isinstancestrr   r   	serialize)r   r   r8   s      r   serialize_organizerz#EventSerializer.serialize_organizer5   sB    ??I)S)%i0	Y0023	 r   c                     | j                   D ]<  }t        |t              rt        |      }|j	                  |j                                > y r7   )	attendeesr9   r:   r   r   r;   )r   r   attendees      r   serialize_attendeez"EventSerializer.serialize_attendee<   s@     	3H(C(#H-X//12	3r   c                 |    | j                   r0|j                  t        dt        | j                                      y y )NDESCRIPTIONr   )descriptionr   r   r	   r   s     r   serialize_descriptionz%EventSerializer.serialize_descriptionB   s3    Mu?P?P1QR r   c                 |    | j                   r0|j                  t        dt        | j                                      y y )NLOCATIONr   )locationr   r   r	   r   s     r   serialize_locationz"EventSerializer.serialize_locationH   s/    >>JmENN.KL r   c                 p    | j                   r*|j                  t        dd| j                   z               y y )NGEOz%f;%fr   )geor   r   r   s     r   serialize_geozEventSerializer.serialize_geoN   s,    99[g		6IJK r   c                 |    | j                   r0|j                  t        dt        | j                                      y y )NURLr   )urlr   r   r	   r   s     r   serialize_urlzEventSerializer.serialize_urlR   s,    99[mEII6NOP r   c                     | j                   y | j                   r&|j                  t        dt        d                   y |j                  t        dt        d                   y )NTRANSPTRANSPARENTr   OPAQUE)transparentr   r   r	   r   s     r   serialize_transparentz%EventSerializer.serialize_transparentV   sN    $[}9UVW[x9PQRr   c                     | j                   r| j                   }n
t               }|j                  t        d|             y )NUIDr   )uidr   r   r   )r   r   rY   s      r   serialize_uidzEventSerializer.serialize_uid^   s.    99))C)CU#67r   c                 Z    | j                   D ]  }|j                  t        |              y r7   )alarmsr   r:   )r   r   alarms      r   serialize_alarmzEventSerializer.serialize_alarmf   s'    \\ 	)ESZ(	)r   c                 j    | j                   r'|j                  t        d| j                                y y )NSTATUSr   )statusr   r   r   s     r   serialize_statusz EventSerializer.serialize_statusj   s'    <<[FG r   c                 j    | j                   r'|j                  t        d| j                                y y )NCLASSr   )classificationr   r   r   s     r   serialize_classzEventSerializer.serialize_classn   s+    [8L8LMN  r   c                     | j                   rM|j                  t        ddj                  | j                   D cg c]  }t	        |       c}                   y y c c}w )N
CATEGORIES,r   )
categoriesr   r   joinr	   )r   r   ss      r   serialize_categoriesz$EventSerializer.serialize_categoriesr   sQ     ((e>N>N#OM!$4#OP  $Ps   AN)__name__
__module____qualname__r   r   r"   r*   r/   r1   r5   r<   r@   rD   rH   rL   rP   rV   rZ   r^   rb   rf   rm    r   r   r   r      sl    XX
V$L
RV43LQS8)HOr   r   N)ics.attendeer   r   ics.grammar.parser   ics.serializers.serializerr   	ics.utilsr   r   r	   r
   r   r   rq   r   r   <module>rv      s&    , ) 17 7qj qr   