-from plomtask.misc import HandledException
-from plomtask.db import DatabaseConnection
-
-DATE_FORMAT = '%Y-%m-%d'
-
-
-def valid_date(date_str: str) -> str:
- """Validate date against DATE_FORMAT or 'today', return in DATE_FORMAT."""
- if date_str == 'today':
- date_str = todays_date()
- try:
- dt = datetime.strptime(date_str, DATE_FORMAT)
- except (ValueError, TypeError) as e:
- msg = f'Given date of wrong format: {date_str}'
- raise HandledException(msg) from e
- return dt.strftime(DATE_FORMAT)
-
-
-def todays_date() -> str:
- """Return current date in DATE_FORMAT."""
- return datetime.now().strftime(DATE_FORMAT)
+from datetime import datetime, timedelta
+from plomtask.exceptions import HandledException
+from plomtask.db import DatabaseConnection, BaseModel
+from plomtask.todos import Todo
+from plomtask.dating import (DATE_FORMAT, valid_date)