34 lines
793 B
Python
34 lines
793 B
Python
from ics.alarm.base import BaseAlarm
|
|
import copy
|
|
from typing import Union
|
|
from datetime import datetime, timedelta
|
|
|
|
from ics.serializers.alarm_serializer import CustomAlarmSerializer
|
|
from ics.parsers.alarm_parser import CustomAlarmParser
|
|
|
|
|
|
class CustomAlarm(BaseAlarm):
|
|
"""
|
|
A calendar event VALARM with custom ACTION.
|
|
"""
|
|
|
|
class Meta:
|
|
name = "VALARM"
|
|
parser = CustomAlarmParser
|
|
serializer = CustomAlarmSerializer
|
|
|
|
def __init__(
|
|
self,
|
|
trigger: Union[timedelta, datetime] = None,
|
|
repeat: int = None,
|
|
duration: timedelta = None,
|
|
action: str = None,
|
|
) -> None:
|
|
super().__init__(trigger, repeat, duration)
|
|
|
|
self._action = action
|
|
|
|
@property
|
|
def action(self):
|
|
return self._action
|