--- a/app.py +++ b/app.py @@ -1,4 +1,12 @@ from datetime import timedelta def due_date(start, days): - return start + timedelta(days=days) + if days < 0: + raise ValueError('negative days') + cursor = start + remaining = days + while remaining: + cursor += timedelta(days=1) + if cursor.weekday() < 5: + remaining -= 1 + return cursor