def setUp(self): src = iCalendar(string=content) src = StringIO(src.to_str()) cal = icalendarTable() cal.load_state_from_ical_file(src) self.cal1 = cal src = iCalendar(string=content2) src = StringIO(src.to_str()) cal = icalendarTable() cal.load_state_from_ical_file(src) self.cal2 = cal
def test_add_to_calendar(self): """Test to add property and component to an empty icalendar object. """ cal = iCalendar() cal.add_component('VEVENT') self.assertEqual(len(cal.get_components('VEVENT')), 1) value = Property('PUBLISH') cal.set_property('METHOD', value) self.assertEqual(cal.get_property_values('METHOD'), value)
def test_vtimezone(self): handler = iCalendar('tests/test_vtimezone.ics') tz = handler.get_components('VTIMEZONE') self.assertEqual(len(tz), 1) tz = tz[0] self.assertEqual(tz.__class__, VTimezone) self.assertTrue(isinstance(tz, tzinfo)) for dt, (tzname, dst, utcoffset) in tz_file_test: dt = datetime(*dt, tzinfo=tz) self.assertEqual(tz.tzname(dt), tzname) self.assertEqual(tz.dst(dt), timedelta(*dst)) self.assertEqual(tz.utcoffset(dt), timedelta(*utcoffset))
def test_search_events(self): """Test get events filtered by arguments given. """ cal = self.cal1 # Test with 1 event attendee_value = 'mailto:[email protected]' events = cal.search_events(ATTENDEE=attendee_value) self.assertEqual(len(events), 1) events = cal.search_events(STATUS='CONFIRMED') self.assertEqual(events, []) events = cal.search_events(STATUS='TENTATIVE') self.assertEqual(len(events), 1) events = cal.search_events(ATTENDEE=attendee_value, STATUS='TENTATIVE') self.assertEqual(len(events), 1) events = cal.search_events(STATUS='TENTATIVE', PRIORITY=1) self.assertEqual(len(events), 1) events = cal.search_events( ATTENDEE=[attendee_value, 'mailto:[email protected]'], STATUS='TENTATIVE', PRIORITY=1) self.assertEqual(len(events), 1) # Tests with 2 events cal = iCalendar(string=content2) attendee_value = 'mailto:[email protected]' events = cal.search_events(ATTENDEE=attendee_value) self.assertEqual(len(events), 2) events = cal.search_events(STATUS='CONFIRMED') self.assertEqual(events, []) events = cal.search_events(STATUS='TENTATIVE') self.assertEqual(len(events), 1) events = cal.search_events(ATTENDEE=attendee_value, STATUS='TENTATIVE') self.assertEqual(len(events), 1) events = cal.search_events(STATUS='TENTATIVE', PRIORITY=1) self.assertEqual(len(events), 1) events = cal.search_events( ATTENDEE=[attendee_value, 'mailto:[email protected]'], STATUS='TENTATIVE', PRIORITY=1) self.assertEqual(len(events), 1)
def test_new(self): cal = iCalendar() properties = [] for name in cal.properties: params = cal.properties[name].parameters value = cal.properties[name].value property = '%s;%s:%s' % (name, params, value) properties.append(property) # Test properties expected_properties = [ u'VERSION;{}:2.0', u'PRODID;{}:-//itaapy.com/NONSGML ikaaro icalendar V1.0//EN'] self.assertEqual(properties, expected_properties) # Test components self.assertEqual(len(cal.get_components()), 0) self.assertEqual(cal.get_components('VEVENT'), [])
def test_new(self): cal = iCalendar() properties = [] for name in cal.properties: params = cal.properties[name].parameters value = cal.properties[name].value property = '%s;%s:%s' % (name, params, value) properties.append(property) # Test properties expected_properties = [ u'VERSION;None:2.0', u'PRODID;None:-//itaapy.com/NONSGML ikaaro icalendar V1.0//EN' ] self.assertEqual(properties, expected_properties) # Test components self.assertEqual(len(cal.get_components()), 0) self.assertEqual(cal.get_components('VEVENT'), [])
def load_state_from_ical_file(self, file): # Clear Calendar for event in self._get_names(): self.del_resource(event) ical = iCalendar() ical.reset() ical._load_state_from_file(file) timezones = ical.get_components('VTIMEZONE') events = ical.get_components('VEVENT') i = 0 for event in events: filename = str(i) properties = {} for name, value in event.get_property().items(): if name in ics_to_ikaaro: name = ics_to_ikaaro[name] properties[name] = value.value properties['uid'] = event.uid self.make_resource(filename, Event, **properties) i += 1
def setUp(self): self.cal1 = iCalendar(string=content) self.cal2 = iCalendar(string=content2)