From 61c9dbcbf9d7f4c5e309316555b843c1e3054707 Mon Sep 17 00:00:00 2001 From: Robert Dailey Date: Fri, 13 Jan 2023 21:22:05 -0600 Subject: [PATCH] feat: Improved preview output for quality sizes --- CHANGELOG.md | 1 + .../QualitySize/QualitySizeUpdater.cs | 22 +++++++++++-------- 2 files changed, 14 insertions(+), 9 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 58106691..2034ba27 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -17,6 +17,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ### Changed - The CLI has been completely redesigned to be more consistent and structured (#142). +- Improved preview output for quality sizes ### Deprecated diff --git a/src/Recyclarr.TrashLib/Services/QualitySize/QualitySizeUpdater.cs b/src/Recyclarr.TrashLib/Services/QualitySize/QualitySizeUpdater.cs index f9e9dfcb..25a53b73 100644 --- a/src/Recyclarr.TrashLib/Services/QualitySize/QualitySizeUpdater.cs +++ b/src/Recyclarr.TrashLib/Services/QualitySize/QualitySizeUpdater.cs @@ -69,20 +69,24 @@ internal class QualitySizeUpdater : IQualitySizeUpdater await ProcessQualityDefinition(selectedQuality.Qualities); } - private void PrintQualityPreview(IReadOnlyCollection quality) + private void PrintQualityPreview(IReadOnlyCollection qualitySizeItems) { - _console.WriteLine(""); - const string format = "{0,-20} {1,-10} {2,-15} {3,-15}"; - _console.WriteLine(format.FormatWith(format, "Quality", "Min", "Max", "Preferred")); - _console.WriteLine(format.FormatWith(format, "-------", "---", "---", "---------")); + var table = new Table(); - foreach (var q in quality) + table.Title("Quality Sizes [red](Preview)[/]"); + table.AddColumn("[bold]Quality[/]"); + table.AddColumn("[bold]Min[/]"); + table.AddColumn("[bold]Max[/]"); + table.AddColumn("[bold]Preferred[/]"); + + foreach (var q in qualitySizeItems) { - _console.WriteLine(format.FormatWith(format, q.Quality, q.AnnotatedMin, q.AnnotatedMax, - q.AnnotatedPreferred)); + var quality = $"[dodgerblue1]{q.Quality}[/]"; + table.AddRow(quality, q.AnnotatedMin, q.AnnotatedMax, q.AnnotatedPreferred); } - _console.WriteLine(""); + _console.WriteLine(); + _console.Write(table); } private static bool QualityIsDifferent(ServiceQualityDefinitionItem a, QualitySizeItem b)