def test_timedeltaToString(self): """ Test timedelta strings """ self.assertEqual(timedeltaToString(two_hours), 'PT2H') self.assertEqual(timedeltaToString(datetime.timedelta(minutes=20)), 'PT20M')
def test_timedeltaToString(self): self.assertEqual( timedeltaToString(twoHours), 'PT2H' ) self.assertEqual( timedeltaToString(datetime.timedelta(minutes=20)), 'PT20M' )
def test_timedeltaToString(self): """ Test timedelta strings """ self.assertEqual( timedeltaToString(two_hours), 'PT2H' ) self.assertEqual( timedeltaToString(datetime.timedelta(minutes=20)), 'PT20M' )
def export_event(self, event): event_mask = SharingMask(event) transparency = to_transparency(event_mask.base_transparency) if all_empty(event_mask, 'base_start', 'all_day', 'base_any_time', 'tzinfo'): start = eim.Inherit else: start = toICalendarDateTime(event.start, event.all_day, event.any_time) if all_empty(event_mask, 'base_duration', 'all_day', 'base_any_time'): duration = eim.Inherit else: duration = timedeltaToString(event.duration) # lastPast = eim.NoChange # if event.occurrenceFor is None and event.rruleset is not None: # rruleset = event.createDateUtilFromRule() # lastPast = rruleset.before(getNow(TimeZone.default)) # if lastPast is not None: # # convert to UTC if not floating # if lastPast.tzinfo != TimeZone.floating: # lastPast = lastPast.astimezone(TimeZone.utc) # lastPast = toICalendarDateTime(lastPast, event.allDay, # event.anyTime) rrule, exrule, rdates, exdates = getRecurrenceFields(event) yield model.EventRecord( event, # uuid start, # dtstart duration, # duration self.obfuscate(event.location), # location rrule, # rrule exrule, # exrule rdates, # rdate exdates, # exdate transparency, # status eim.NoChange, # lastPastOccurrence )
def export_item(self, item): mask = SharingMask(item) triage = Triage(item) recurring = Recurrence.installed_on(item) and Recurrence(item).rruleset if recurring: encoded_triage = eim.NoChange elif triage.manual and triage.manual_timestamp: code = normalize_triage_code(triage.manual) manual_timestamp = -1 * triage.manual_timestamp encoded_triage = "%s %.2f 0" % (code, manual_timestamp) else: encoded_triage = eim.Inherit yield model.ItemRecord( item, # uuid self.obfuscate(mask.title), # title encoded_triage, # triage with_nochange(mask.created, decimal_int), # createdOn eim.NoChange, # hasBeenSent eim.NoChange, # needsReply eim.NoChange, # read ) eim_wrapped = eim.EIM(item) yield model.NoteRecord( item, # uuid self.obfuscate(mask.body), # body empty_as_inherit(eim_wrapped, 'ical_uid'), # icalUid eim.Inherit, # icalendarProperties eim.Inherit, # icalendarParameters empty_as_inherit(eim_wrapped, 'ical_extra') # icalendarExtra ) if not ReminderList(item).reminders: description = None trigger = None duration = None repeat = None elif not getattr(item, 'recurrence_id', False): reminder = ReminderList(item).reminders[0] trigger = None if reminder.delta: trigger = timedeltaToString(reminder.delta) elif reminder.fixed_trigger: fixed = reminder.fixed_trigger.astimezone(TimeZone.utc) trigger = toICalendarDateTime(fixed, False) duration = eim.NoChange repeat = eim.NoChange description = getattr(reminder, 'description', None) if not description: description = "Event Reminder" else: # we've inherited this reminder description = eim.Inherit trigger = eim.Inherit duration = eim.Inherit repeat = eim.Inherit yield model.DisplayAlarmRecord( item, description, trigger, duration, repeat, )
def test_timedeltaToString(self): self.assertEqual(timedeltaToString(twoHours), 'PT2H') self.assertEqual(timedeltaToString(datetime.timedelta(minutes=20)), 'PT20M')