in src/pycalendar/icalendar/valarm.py [0:0]
def finalise(self):
# Do inherited
super(VAlarm, self).finalise()
# Get the ACTION
temp = self.loadValueString(definitions.cICalProperty_ACTION)
if temp is not None:
self.mAction = VAlarm.sActionMap.get(temp, definitions.eAction_VAlarm_Unknown)
self.loadAction()
# Get the trigger
if self.hasProperty(definitions.cICalProperty_TRIGGER):
# Determine the type of the value
temp1 = self.loadValueDateTime(definitions.cICalProperty_TRIGGER)
temp2 = self.loadValueDuration(definitions.cICalProperty_TRIGGER)
if temp1 is not None:
self.mTriggerAbsolute = True
self.mTriggerOn = temp1
elif temp2 is not None:
self.mTriggerAbsolute = False
self.mTriggerBy = temp2
# Get the property
prop = self.findFirstProperty(definitions.cICalProperty_TRIGGER)
# Look for RELATED parameter
if prop.hasParameter(definitions.cICalParameter_RELATED):
temp = prop.getParameterValue(definitions.cICalParameter_RELATED)
if temp == definitions.cICalParameter_RELATED_START:
self.mTriggerOnStart = True
elif temp == definitions.cICalParameter_RELATED_END:
self.mTriggerOnStart = False
else:
self.mTriggerOnStart = True
# Get repeat & interval
temp = self.loadValueInteger(definitions.cICalProperty_REPEAT)
if temp is not None:
self.mRepeats = temp
temp = self.loadValueDuration(definitions.cICalProperty_DURATION)
if temp is not None:
self.mRepeatInterval = temp
# Set a map key for sorting
self.mMapKey = "%s:%s" % (self.mAction, self.mTriggerOn if self.mTriggerAbsolute else self.mTriggerBy,)
# Alarm status - private to Mulberry
status = self.loadValueString(definitions.cICalProperty_ALARM_X_ALARMSTATUS)
if status is not None:
if status == definitions.cICalProperty_ALARM_X_ALARMSTATUS_PENDING:
self.mAlarmStatus = definitions.eAlarm_Status_Pending
elif status == definitions.cICalProperty_ALARM_X_ALARMSTATUS_COMPLETED:
self.mAlarmStatus = definitions.eAlarm_Status_Completed
elif status == definitions.cICalProperty_ALARM_X_ALARMSTATUS_DISABLED:
self.mAlarmStatus = definitions.eAlarm_Status_Disabled
else:
self.mAlarmStatus = definitions.eAlarm_Status_Pending
# Last trigger time - private to Mulberry
temp = self.loadValueDateTime(definitions.cICalProperty_ALARM_X_LASTTRIGGER)
if temp is not None:
self.mLastTrigger = temp