
    }f                         d dl mZ d dlmZ d dlmZ d dlmZmZm	Z	  G d de      Z
 G d de
      Z G d	 d
e
      Z G d de
      Z G d de
      Z G d de
      Zy)    )	timedelta)ContentLine)
Serializer)arrow_to_isoescape_stringtimedelta_to_durationc                   $    e Zd Zd Zd Zd Zd Zy)BaseAlarmSerializerc           	      0   | j                   t        d      t        | j                   t              r2t	        | j                         }|j                  t        d|             y |j                  t        dddgit        | j                                      y )NzAlarm must have a triggerTRIGGERvalueVALUEz	DATE-TIME)paramsr   )trigger
ValueError
isinstancer   r   appendr   r   alarm	containerrepresentations      _/var/www/feuerwehr-webapp/venv/lib/python3.12/site-packages/ics/serializers/alarm_serializer.pyserialize_triggerz%BaseAlarmSerializer.serialize_trigger	   sx    == 899emmY/25==AN[.IJ#k]3&u}}5    c                     | j                   r2t        | j                         }|j                  t        d|             y y )NDURATIONr   )durationr   r   r   r   s      r   serialize_durationz&BaseAlarmSerializer.serialize_duration   s1    >>25>>BN[>JK r   c                 j    | j                   r'|j                  t        d| j                                y y )NREPEATr   )repeatr   r   r   r   s     r   serialize_repeatz$BaseAlarmSerializer.serialize_repeat   s'    <<[FG r   c                 P    |j                  t        d| j                               y )NACTIONr   )r   r   actionr#   s     r   serialize_actionz$BaseAlarmSerializer.serialize_action"   s    XU\\BCr   N)__name__
__module____qualname__r   r   r$   r(    r   r   r
   r
      s     L
HDr   r
   c                       e Zd Zy)CustomAlarmSerializerNr)   r*   r+   r,   r   r   r.   r.   &       r   r.   c                       e Zd Zd Zy)AudioAlarmSerializerc                 f    | j                   r%|j                  t        | j                                y y N)_soundr   strr#   s     r   serialize_attachz%AudioAlarmSerializer.serialize_attach+   s%    <<S./ r   N)r)   r*   r+   r7   r,   r   r   r2   r2   *   s    0r   r2   c                       e Zd Zd Zy)DisplayAlarmSerializerc           	      j    |j                  t        dt        | j                  xs d                   y NDESCRIPTION r   )r   r   r   display_textr#   s     r   serialize_descriptionz,DisplayAlarmSerializer.serialize_description1   s+    ]5;M;M;SQS-TU	
r   N)r)   r*   r+   r?   r,   r   r   r9   r9   0   s    
r   r9   c                       e Zd Zd Zd Zd Zy)EmailAlarmSerializerc           	      j    |j                  t        dt        | j                  xs d                   y r;   )r   r   r   bodyr#   s     r   serialize_bodyz#EmailAlarmSerializer.serialize_body8   s(    ]5::;K-LM	
r   c           	      j    |j                  t        dt        | j                  xs d                   y )NSUMMARYr=   r   )r   r   r   subjectr#   s     r   serialize_subjectz&EmailAlarmSerializer.serialize_subject=   s(    	u}}7J)KL	
r   c                 d    | j                   D ]!  }|j                  |j                                # y r4   )
recipientsr   	serialize)r   r   attendees      r   serialize_recipientsz)EmailAlarmSerializer.serialize_recipientsB   s.    (( 	3HX//12	3r   N)r)   r*   r+   rD   rH   rM   r,   r   r   rA   rA   7   s    



3r   rA   c                       e Zd Zy)NoneAlarmSerializerNr/   r,   r   r   rO   rO   G   r0   r   rO   N)datetimer   ics.grammar.parser   ics.serializers.serializerr   	ics.utilsr   r   r   r
   r.   r2   r9   rA   rO   r,   r   r   <module>rT      sc     ) 1 H HD* D<	/ 	0. 0
0 
3. 3 	- 	r   