From a50d0f1743e15e97ae556595799a0d1e3181b50c Mon Sep 17 00:00:00 2001 From: Qubasa Date: Tue, 30 Jan 2024 12:39:52 +0700 Subject: [PATCH] CLI: Added grouping output for clan history list. --- pkgs/clan-cli/clan_cli/history/list.py | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/pkgs/clan-cli/clan_cli/history/list.py b/pkgs/clan-cli/clan_cli/history/list.py index f9c89f40..9b46f5ff 100644 --- a/pkgs/clan-cli/clan_cli/history/list.py +++ b/pkgs/clan-cli/clan_cli/history/list.py @@ -1,12 +1,24 @@ # !/usr/bin/env python3 import argparse +from datetime import datetime -from .add import list_history +from .add import HistoryEntry, list_history def list_history_command(args: argparse.Namespace) -> None: + res: dict[str, list[HistoryEntry]] = {} for history_entry in list_history(): - print(history_entry.flake.flake_url) + url = str(history_entry.flake.flake_url) + if res.get(url, None) is None: + res[url] = [] + res[url].append(history_entry) + + for flake_url, entries in res.items(): + print(flake_url) + for entry in entries: + d = datetime.fromisoformat(entry.last_used) + last_used = d.strftime("%d/%m/%Y %H:%M:%S") + print(f" {entry.flake.flake_attr} ({last_used})") # takes a (sub)parser and configures it