diff options
| author | Joris Guyonvarch | 2026-01-17 20:56:18 +0100 |
|---|---|---|
| committer | Joris Guyonvarch | 2026-01-17 20:56:18 +0100 |
| commit | cf406c5c9c38a24549c9fdd7e807632aef051766 (patch) | |
| tree | 12d05cbbc72057327523302e3cfec5ce4e6595bd /src/util.rs | |
| parent | c90bd8eba71539a8cd58fe865de5695813a57fbd (diff) | |
Show secondary metric when showing expirationmain
Diffstat (limited to 'src/util.rs')
| -rw-r--r-- | src/util.rs | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/src/util.rs b/src/util.rs index 27280b2..59ef485 100644 --- a/src/util.rs +++ b/src/util.rs @@ -25,11 +25,17 @@ pub fn sanitize_filename_part(s: &str) -> String { pub fn pretty_print_duration(d: Duration) -> String { if d.num_days() > 0 { let plural = if d.num_days() > 1 { "s" } else { "" }; - format!("{} day{}", d.num_days(), plural) + let remaining_hours = d.num_hours() - d.num_days() * 24; + let formatted_hours = if remaining_hours > 0 { format!(" {remaining_hours} h") } else { "".to_string() }; + format!("{} day{}{}", d.num_days(), plural, formatted_hours) } else if d.num_hours() > 0 { - format!("{} h", d.num_hours()) + let remaining_minutes = d.num_minutes() - d.num_hours() * 60; + let formatted_minutes = if remaining_minutes > 0 { format!(" {remaining_minutes} min") } else { "".to_string() }; + format!("{} h{}", d.num_hours(), formatted_minutes) } else if d.num_minutes() > 0 { - format!("{} min", d.num_minutes()) + let remaining_seconds = d.num_seconds() - d.num_minutes() * 60; + let formatted_seconds = if remaining_seconds > 0 { format!(" {remaining_seconds} s") } else { "".to_string() }; + format!("{} min{}", d.num_minutes(), formatted_seconds) } else { format!("{} s", d.num_seconds()) } @@ -80,7 +86,7 @@ mod tests { ); assert_eq!( pretty_print_duration(Duration::hours(30)), - "1 day".to_string() + "1 day 6 h".to_string() ); assert_eq!( pretty_print_duration(Duration::days(1)), @@ -92,7 +98,7 @@ mod tests { ); assert_eq!( pretty_print_duration(Duration::minutes(70)), - "1 h".to_string() + "1 h 10 min".to_string() ); assert_eq!( pretty_print_duration(Duration::minutes(44)), @@ -100,7 +106,7 @@ mod tests { ); assert_eq!( pretty_print_duration(Duration::seconds(100)), - "1 min".to_string() + "1 min 40 s".to_string() ); assert_eq!( pretty_print_duration(Duration::seconds(7)), |
