if opt.deadline: deadline = datetime.strptime(opt.deadline, "%Y-%m-%d") else: now = datetime.now() p = opt.deadline_profile if p == 'soon': deadline = now + timedelta(days=1) elif p == 'very-recent': deadline = now - timedelta(days=1) elif p == 'recent': deadline = now - timedelta(days=3) elif p == 'old': deadline = now - timedelta(days=9) elif p == 'very-old': deadline = now - timedelta(days=60) elif p.startswith("-") or p.startswith("+"): if not p[1:].isdigit(): raise SystemExit("Numeric deadline profile must be + or - "\ "suffixed with a number") days = int(p[1:]) if p.startswith("-"): deadline = now - timedelta(days=int(days)) else: deadline = now + timedelta(days=int(days)) else: raise SystemExit("Invalid --deadline-profile") examiners = ['%s%d' % (examiner_prefix, d) for d in xrange(0,num_examiners)] all_students = ['%s%d' % (student_prefix, d) for d in xrange(0, num_students)]