From 41f51836537b3b023e07a9ddb920f1b1526fd8fb Mon Sep 17 00:00:00 2001 From: Kharec Date: Sun, 7 Dec 2025 21:34:16 +0100 Subject: [PATCH] feat: optimize format_duration --- auditui/library.py | 25 +++++++++++-------------- 1 file changed, 11 insertions(+), 14 deletions(-) diff --git a/auditui/library.py b/auditui/library.py index 2a3a0b2..115acb4 100644 --- a/auditui/library.py +++ b/auditui/library.py @@ -134,23 +134,20 @@ class LibraryClient: def format_duration( value: int | None, unit: str = "minutes", default_none: str | None = None ) -> str | None: - """Format duration value into human-readable string.""" + """Format duration value into a human-readable string.""" if value is None or value <= 0: return default_none + total_minutes = int(value) if unit == "seconds": - total_minutes = int(value) // 60 - else: - total_minutes = int(value) + total_minutes //= 60 - if total_minutes < 60: - return f"{total_minutes} minute{'s' if total_minutes != 1 else ''}" + hours, minutes = divmod(total_minutes, 60) - hours = total_minutes // 60 - mins = total_minutes % 60 - if mins == 0: - return f"{hours} hour{'s' if hours != 1 else ''}" - return ( - f"{hours} hour{'s' if hours != 1 else ''} " - f"{mins} minute{'s' if mins != 1 else ''}" - ) + parts = [] + if hours: + parts.append(f"{hours} hour{'s' if hours != 1 else ''}") + if minutes: + parts.append(f"{minutes} minute{'s' if minutes != 1 else ''}") + + return " ".join(parts) if parts else default_none