From 4f0bfd4fdde6c633d6efbe466f94dd6013289312 Mon Sep 17 00:00:00 2001 From: Maximilian Friedersdorff Date: Wed, 27 Aug 2025 16:52:24 +0100 Subject: [PATCH] Include day summary --- .../private_extensions/executable_rm.py | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/home/dot_config/private_timewarrior/private_extensions/executable_rm.py b/home/dot_config/private_timewarrior/private_extensions/executable_rm.py index da30f23..01a65df 100644 --- a/home/dot_config/private_timewarrior/private_extensions/executable_rm.py +++ b/home/dot_config/private_timewarrior/private_extensions/executable_rm.py @@ -27,13 +27,27 @@ def fmt_row(record: dict) -> str: ) -def print_details(records: Iterable[dict]) -> None: +def print_details(records: list[dict]) -> None: print("{:-^80}".format(" Details ")) print() for record in records: print(fmt_row(record)) +def print_total(records: list[dict]) -> None: + sum = timedelta(seconds=0) + for record in records: + sum += record["duration"] + + total = records[-1]["end"] - records[0]["start"] + + print("{:-^80}".format(" Today ")) + print() + print("{:>7}: {:3.2f}".format("Total", fmt_decimal_hours(total))) + print("{:>7}: {:3.2f}".format("Working", fmt_decimal_hours(sum))) + print("{:>7}: {:3.2f}".format("Break", fmt_decimal_hours(total - sum))) + + def print_projects(projects) -> None: print("{:-^80}".format(" Projects ")) print() @@ -92,6 +106,8 @@ def main(): projects[record["project"]]["duration"] += record["duration"] projects[record["project"]]["tags"] += record["tags"] + print_total(input) + print() print_projects(projects) print() print_details(input)