from datetime import datetime, timedelta from .config import * def group_by_status(umbrellas: list) -> dict: keys = set([umb["status"] for umb in umbrellas]) statuses = {} for key in keys: statuses[key] = [umb for umb in umbrellas if umb["status"] == key] return statuses def find_overdue(umbrellas: list) -> list: now = datetime.now() return [ umb for umb in umbrellas if umb["lent_at"] is not None and now - umb["lent_at"] > timedelta(hours=DUE_HOURS) ]