def _doDuplicateRoundtrip(caldata): cal = Calendar() cal.parse(StringIO.StringIO(caldata)) cal = cal.duplicate() s = StringIO.StringIO() cal.generate(s) self.assertEqual(caldata, s.getvalue())
def _doDuplicateRoundtrip(caldata): cal = Calendar() cal.parse(StringIO.StringIO(caldata)) cal = cal.duplicate() s = StringIO.StringIO() cal.generate(s) self.assertEqual(caldata, s.getvalue())
def testDuplicateWithRecurrenceChange(self): data = ( """BEGIN:VCALENDAR VERSION:2.0 CALSCALE:GREGORIAN PRODID:-//mulberrymail.com//Mulberry v4.0//EN BEGIN:VEVENT UID:C3184A66-1ED0-11D9-A5E0-000A958A3252 DTSTART;VALUE=DATE:20020101 DTEND;VALUE=DATE:20020102 DTSTAMP:20020101T000000Z RRULE:FREQ=YEARLY SUMMARY:New Year's Day END:VEVENT END:VCALENDAR """.replace("\n", "\r\n"), """BEGIN:VCALENDAR VERSION:2.0 CALSCALE:GREGORIAN PRODID:-//mulberrymail.com//Mulberry v4.0//EN BEGIN:VEVENT UID:C3184A66-1ED0-11D9-A5E0-000A958A3252 DTSTART;VALUE=DATE:20020101 DTEND;VALUE=DATE:20020102 DTSTAMP:20020101T000000Z RRULE:FREQ=YEARLY;COUNT=400 SUMMARY:New Year's Day END:VEVENT END:VCALENDAR """.replace("\n", "\r\n"), ) cal1 = Calendar() cal1.parse(StringIO.StringIO(data[0])) cal2 = cal1.duplicate() vevent = cal2.getComponents()[0] rrules = vevent.getRecurrenceSet() for rrule in rrules.getRules(): rrule.setUseCount(True) rrule.setCount(400) rrules.changed() self.assertEqual(data[0], str(cal1)) self.assertEqual(data[1], str(cal2))
def testDuplicateWithRecurrenceChange(self): data = ( """BEGIN:VCALENDAR VERSION:2.0 CALSCALE:GREGORIAN PRODID:-//mulberrymail.com//Mulberry v4.0//EN BEGIN:VEVENT UID:C3184A66-1ED0-11D9-A5E0-000A958A3252 DTSTART;VALUE=DATE:20020101 DTEND;VALUE=DATE:20020102 DTSTAMP:20020101T000000Z RRULE:FREQ=YEARLY SUMMARY:New Year's Day END:VEVENT END:VCALENDAR """.replace("\n", "\r\n"), """BEGIN:VCALENDAR VERSION:2.0 CALSCALE:GREGORIAN PRODID:-//mulberrymail.com//Mulberry v4.0//EN BEGIN:VEVENT UID:C3184A66-1ED0-11D9-A5E0-000A958A3252 DTSTART;VALUE=DATE:20020101 DTEND;VALUE=DATE:20020102 DTSTAMP:20020101T000000Z RRULE:FREQ=YEARLY;COUNT=400 SUMMARY:New Year's Day END:VEVENT END:VCALENDAR """.replace("\n", "\r\n"), ) cal1 = Calendar() cal1.parse(StringIO.StringIO(data[0])) cal2 = cal1.duplicate() vevent = cal2.getComponents()[0] rrules = vevent.getRecurrenceSet() for rrule in rrules.getRules(): rrule.setUseCount(True) rrule.setCount(400) rrules.changed() self.assertEqual(data[0], str(cal1)) self.assertEqual(data[1], str(cal2))