Source code for ics.alarm.audio
from typing import Optional
from ics.alarm.base import BaseAlarm
from ics.grammar.parse import ContentLine
from typing import Union
from datetime import datetime, timedelta
from ics.serializers.alarm_serializer import AudioAlarmSerializer
from ics.parsers.alarm_parser import AudioAlarmParser
[docs]class AudioAlarm(BaseAlarm):
"""
A calendar event VALARM with AUDIO option.
"""
class Meta:
name = "VALARM"
parser = AudioAlarmParser
serializer = AudioAlarmSerializer
[docs] def __init__(
self,
trigger: Union[timedelta, datetime] = None,
repeat: int = None,
duration: timedelta = None,
):
super().__init__(trigger, repeat, duration)
self._sound: Optional[ContentLine] = None
@property
def action(self):
return "AUDIO"
@property
def sound(self):
return self._sound
@sound.setter
def sound(self, sound):
assert isinstance(sound, ContentLine)
self._sound = sound