def setUp(self): __thisdir = os.path.dirname(os.path.abspath(__file__)) self._file = open(os.path.join(__thisdir, 'urgent.ics')) start = time.time() self._calendar = eventcalendar.fromFile(self._file) self.debug('Parsing urgent.ics took %f seconds' % ( time.time() - start))
def testParseCalendarFromFile(self): event = icalendar.Event() startExpected = datetime(2015, 4, 4, 8, 0, 0, tzinfo=LOCAL) endExpected = datetime(2015, 4, 4, 9, 0, 0, tzinfo=LOCAL) contentExpected = 'Test calendar' uidExpected = 'uid' fileName = 'example.ics' event.add('summary', contentExpected) event.add('dtstart', startExpected) event.add('dtend', endExpected) event['uid'] = uidExpected # the calendar gets written with UTC dates self._icalendar.add_component(event) f = open(fileName, 'wb') f.write(self._icalendar.as_string()) f.close() handle = open(fileName, 'r') self._calendar = eventcalendar.fromFile(handle) eventSets = self._calendar._eventSets self.assertEquals(len(eventSets), 1) events = eventSets.values()[0].getEvents() # FIXME: python-iCalendar seems to have a bug # the calendar write, and this assert, fails when in 'winter' time # see https://thomas.apestaart.org/thomas/trac/browser/tests/icalendar/ # self.assertOneEventExpected(startExpected, endExpected) # FIXME: poking at internals eventSets = self._calendar._eventSets events = eventSets.values()[0].getEvents() self.assertEquals(events[0].content, contentExpected) self.assertEquals(events[0].uid, uidExpected)
def setUp(self): __thisdir = os.path.dirname(os.path.abspath(__file__)) self._file = open(os.path.join(__thisdir, 'urgent.ics')) start = time.time() self._calendar = eventcalendar.fromFile(self._file) self.debug('Parsing urgent.ics took %f seconds' % (time.time() - start))
def testExDate(self): TZMADRID = tz.gettz('Europe/Madrid') start = datetime(2007, 11, 1, 0, 0, 0, 0, TZMADRID) end = datetime(2008, 1, 1, 0, 0, 0, 0, TZMADRID) calendar = eventcalendar.fromFile(open(self._path, 'r')) sets = calendar._eventSets.values() self.assertEquals(len(sets), 1) set = sets[0] self.assertEquals(set.uid, '*****@*****.**') points = set.getPoints(start, end - start) self.assertEquals(len(points), 44) exdatetime = datetime(2007, 11, 12, 20, 0, 0, 0, TZMADRID) for p in points: self.assertNotEquals(p.dt, exdatetime)
def _getCalendarFromString(self, data): tmp = tempfile.NamedTemporaryFile() tmp.write(data) tmp.flush() tmp.seek(0) return eventcalendar.fromFile(tmp)
def _parseFromFile(self, f): calendar = eventcalendar.fromFile(f) self.setCalendar(calendar)