def serialize_dtstamp(todo: "Todo", container: Container):
        if todo.dtstamp:
            instant = todo.dtstamp
        else:
            instant = arrow.now()

        container.append(ContentLine("DTSTAMP", value=arrow_to_iso(instant)))
Example #2
0
    def serialize_recurrent(event, container):
        if event.recurrent:
            params = {
                "FREQ": event.recurrent,
                "BYDAY": ",".join(event.recurrence_weekdays),
                "INTERVAL": str(event.recurrence_interval)
            }
            if event.recurrence_count:
                params["COUNT"] = event.recurrence_count
            if event.recurrence_end:
                params["UNTIL"] = arrow_to_iso(event.recurrence_end)

            container.append(
                ContentLine("RRULE", value=parse_rrule_dict(params)))
    def serialize_trigger(alarm, container):
        if not alarm.trigger:
            raise ValueError("Alarm must have a trigger")

        if isinstance(alarm.trigger, timedelta):
            representation = timedelta_to_duration(alarm.trigger)
            container.append(ContentLine("TRIGGER", value=representation))
        else:
            container.append(
                ContentLine(
                    "TRIGGER",
                    params={"VALUE": ["DATE-TIME"]},
                    value=arrow_to_iso(alarm.trigger),
                ))
 def serialize_due(todo: "Todo", container: Container):
     if todo._due_time:
         container.append(ContentLine("DUE", value=arrow_to_iso(todo._due_time)))
 def serialize_start(todo: "Todo", container: Container):
     if todo.begin:
         container.append(ContentLine("DTSTART", value=arrow_to_iso(todo.begin)))
 def serialize_created(todo: "Todo", container: Container):
     if todo.created:
         container.append(ContentLine("CREATED", value=arrow_to_iso(todo.created)))
 def serialize_completed(todo: "Todo", container: Container):
     if todo.completed:
         container.append(
             ContentLine("COMPLETED", value=arrow_to_iso(todo.completed))
         )