def test_event_delegated(self): e = kolabformat.Event() e.setSummary("test") e.setStart(kolabformat.cDateTime(2014,7,1, 12,30,0)) att1 = kolabformat.Attendee(kolabformat.ContactReference("*****@*****.**")) att1.setRole(kolabformat.NonParticipant) att1.setPartStat(kolabformat.PartDelegated) att1.setDelegatedTo([kolabformat.ContactReference("*****@*****.**")]) att2 = kolabformat.Attendee(kolabformat.ContactReference("*****@*****.**")) att2.setRole(kolabformat.Required) att2.setPartStat(kolabformat.PartNeedsAction) att2.setDelegatedFrom([kolabformat.ContactReference("*****@*****.**")]) e.setAttendees([att1, att2]) self.assertEqual(len(att1.delegatedTo()), 1) self.assertEqual(len(att2.delegatedFrom()), 1) xml = kolabformat.writeEvent(e) e1 = kolabformat.readEvent(xml, False) # print xml attendees_ = e1.attendees() self.assertEqual(len(attendees_), 2) self.assertEqual(len(attendees_[0].delegatedTo()), 1) self.assertEqual(len(attendees_[1].delegatedFrom()), 1) delegatees = attendees_[0].delegatedTo() self.assertEqual(delegatees[0].email(), "*****@*****.**")
def test_event_delegated(self): e = kolabformat.Event() e.setSummary("test") e.setStart(kolabformat.cDateTime(2014, 7, 1, 12, 30, 0)) att1 = kolabformat.Attendee( kolabformat.ContactReference("*****@*****.**")) att1.setRole(kolabformat.NonParticipant) att1.setPartStat(kolabformat.PartDelegated) att1.setDelegatedTo([kolabformat.ContactReference("*****@*****.**")]) att2 = kolabformat.Attendee( kolabformat.ContactReference("*****@*****.**")) att2.setRole(kolabformat.Required) att2.setPartStat(kolabformat.PartNeedsAction) att2.setDelegatedFrom([kolabformat.ContactReference("*****@*****.**")]) e.setAttendees([att1, att2]) self.assertEqual(len(att1.delegatedTo()), 1) self.assertEqual(len(att2.delegatedFrom()), 1) xml = kolabformat.writeEvent(e) e1 = kolabformat.readEvent(xml, False) # print xml attendees_ = e1.attendees() self.assertEqual(len(attendees_), 2) self.assertEqual(len(attendees_[0].delegatedTo()), 1) self.assertEqual(len(attendees_[1].delegatedFrom()), 1) delegatees = attendees_[0].delegatedTo() self.assertEqual(delegatees[0].email(), "*****@*****.**")
def to_cdatetime(_datetime, with_timezone=True, as_utc=False): """ Convert a datetime.dateime object into a kolabformat.cDateTime instance """ # convert date into UTC timezone if as_utc and hasattr(_datetime, "tzinfo"): if _datetime.tzinfo is not None: _datetime = _datetime.astimezone(pytz.utc) else: datetime = _datetime.replace(tzinfo=pytz.utc) with_timezone = False ( year, month, day, ) = ( _datetime.year, _datetime.month, _datetime.day, ) if hasattr(_datetime, 'hour'): ( hour, minute, second ) = ( _datetime.hour, _datetime.minute, _datetime.second ) _cdatetime = kolabformat.cDateTime(year, month, day, hour, minute, second) else: _cdatetime = kolabformat.cDateTime(year, month, day) if with_timezone and hasattr(_datetime, "tzinfo"): if _datetime.tzinfo.__str__() in ['UTC','GMT']: _cdatetime.setUTC(True) else: _cdatetime.setTimezone(_datetime.tzinfo.__str__()) if as_utc: _cdatetime.setUTC(True) return _cdatetime
def set_start(self, _datetime): valid_datetime = False if isinstance(_datetime, datetime.date): valid_datetime = True if isinstance(_datetime, datetime.datetime): # If no timezone information is passed on, make it UTC if _datetime.tzinfo == None: _datetime = _datetime.replace(tzinfo=pytz.utc) valid_datetime = True if not valid_datetime: raise InvalidEventDateError, _("Event start needs datetime.date or datetime.datetime instance") ( year, month, day, ) = ( _datetime.year, _datetime.month, _datetime.day, ) if hasattr(_datetime, 'hour'): ( hour, minute, second ) = ( _datetime.hour, _datetime.minute, _datetime.second ) _cdatetime = kolabformat.cDateTime(year, month, day, hour, minute, second) else: _cdatetime = kolabformat.cDateTime(year, month, day) if hasattr(_datetime, "tzinfo"): _cdatetime.setTimezone(_datetime.tzinfo.__str__()) self.event.setStart(_cdatetime)
def test_event_basic(self): e = kolabformat.Event() e.setSummary("test") start = kolabformat.cDateTime(2014,7,1, 12,30,0) start.setTimezone("Europe/London") e.setStart(start) ex = e.exceptionDates() ex.size() ex.push_back(kolabformat.cDateTime(2014,7,5)) ex.size() e.exceptionDates().size() e.setExceptionDates(ex) e.exceptionDates().size() xml = kolabformat.writeEvent(e) e1 = kolabformat.readEvent(xml, False) xml1 = kolabformat.writeEvent(e1) self.assertEqual(xml, xml1)
def test_event_basic(self): e = kolabformat.Event() e.setSummary("test") start = kolabformat.cDateTime(2014, 7, 1, 12, 30, 0) start.setTimezone("Europe/London") e.setStart(start) ex = e.exceptionDates() ex.size() ex.push_back(kolabformat.cDateTime(2014, 7, 5)) ex.size() e.exceptionDates().size() e.setExceptionDates(ex) e.exceptionDates().size() xml = kolabformat.writeEvent(e) e1 = kolabformat.readEvent(xml, False) xml1 = kolabformat.writeEvent(e1) self.assertEqual(xml, xml1)
def set_dtstamp(self, _datetime): ( year, month, day, hour, minute, second ) = ( _datetime.year, _datetime.month, _datetime.day, _datetime.hour, _datetime.minute, _datetime.second ) self.event.setLastModified( kolabformat.cDateTime(year, month, day, hour, minute, second) )
def set_lastmodified(self, _datetime=None): valid_datetime = False if isinstance(_datetime, datetime.date): valid_datetime = True if isinstance(_datetime, datetime.datetime): valid_datetime = True if _datetime == None: valid_datetime = True _datetime = datetime.datetime.now() if not valid_datetime: raise InvalidEventDateError, _("Event start needs datetime.date or datetime.datetime instance") ( year, month, day, ) = ( _datetime.year, _datetime.month, _datetime.day, ) if hasattr(_datetime, 'hour'): ( hour, minute, second ) = ( _datetime.hour, _datetime.minute, _datetime.second ) else: (hour, minute, second) = (0,0,0) self.event.setLastModified(kolabformat.cDateTime(year, month, day, hour, minute, second))
def set_created(self, _datetime=None): if _datetime == None: _datetime = datetime.datetime.now() ( year, month, day, hour, minute, second ) = ( _datetime.year, _datetime.month, _datetime.day, _datetime.hour, _datetime.minute, _datetime.second ) self.event.setCreated( kolabformat.cDateTime(year, month, day, hour, minute, second) )
import kolabformat e = kolabformat.Event() ex = e.exceptionDates() ex.size() ex.push_back(kolabformat.cDateTime(1,1,1)) ex.size() e.exceptionDates().size() e.setExceptionDates(ex) e.exceptionDates().size() string = kolabformat.writeEvent(e); print string; e1 = kolabformat.readEvent(string, False); string = kolabformat.writeEvent(e1); print string;