def handle_noargs(self, **options): self.stdout.write('Checking for existing data ...') try: cal = Calendar.objects.get(name='Example Calendar', color='ff0000') self.stdout.write('It looks like you already have loaded this sample data, quitting.') sys.exit(1) except Calendar.DoesNotExist: self.stdout.write('No sample data found in db.') self.stdout.write('Install it...') self.stdout.write('Create User ...') user1 = User.objects.create_user('user1', '*****@*****.**', 'userpassword') user1.save() self.stdout.write('Create Example Calendar ...') cal = Calendar(name='Example Calendar', color='dddddd') cal.save() self.stdout.write('The Example Calendar is created.') event = Event(recurrence=None, name='Example Single Event', calendar=cal ) event.start = dt(2014, 5, 1, 17) event.end = dt(2014, 5, 1, 19) event.save() event.create_and_save_occurences() rec = Recurrence(frequency='DAILY', # start=datetime.datetime(2014, 3, 30, 13), count=10) rec.save() event = Event(recurrence=rec, name='Example Daily Event', calendar=cal) event.start = dt(2014, 5, 1, 13) event.end = dt(2014, 5, 1, 18) event.save() event.create_and_save_occurences() """
def test_monthly_recurrence(self): """ Test basic rules: """ r = Recurrence(frequency='MONTHLY', start=datetime.datetime(2014, 1, 1), count=3) self.assertEqual(list(r.get_startdates()), [ datetime.datetime(2014, 1, 1, 0, 0), datetime.datetime(2014, 2, 1, 0, 0), datetime.datetime(2014, 3, 1, 0, 0)]) r = Recurrence(frequency='MONTHLY', start=datetime.datetime(2014, 1, 1), until=datetime.datetime(2014, 4, 1)) self.assertEqual(list(r.get_startdates()), [ datetime.datetime(2014, 1, 1, 0, 0), datetime.datetime(2014, 2, 1, 0, 0), datetime.datetime(2014, 3, 1, 0, 0), datetime.datetime(2014, 4, 1, 0, 0)]) """ Verify that when 'until' and 'count' are set use the minimum of both: """ r = Recurrence(frequency='MONTHLY', start=datetime.datetime(2014, 1, 1), until=datetime.datetime(2014, 3, 1), count=10) self.assertEqual(list(r.get_startdates()), [ datetime.datetime(2014, 1, 1, 0, 0), datetime.datetime(2014, 2, 1, 0, 0), datetime.datetime(2014, 3, 1, 0, 0)]) r = Recurrence(frequency='MONTHLY', start=datetime.datetime(2014, 1, 1), until=datetime.datetime(2014, 3, 1), count=2) self.assertEqual(list(r.get_startdates()), [ datetime.datetime(2014, 1, 1, 0, 0), datetime.datetime(2014, 2, 1, 0, 0)])