Skip to content

Commit b0c900e

Browse files
committed
Work on CLI
1 parent cf4acd9 commit b0c900e

File tree

1 file changed

+22
-14
lines changed

1 file changed

+22
-14
lines changed

SmartImage 3/CliMain.cs

Lines changed: 22 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ namespace SmartImage;
1313

1414
public class CliMain : IDisposable
1515
{
16-
private const int COMPLETE = 100;
16+
private const double COMPLETE = 100.0D;
1717

1818
private static readonly ProgressColumn[] PrgCol_1 =
1919
{
@@ -25,19 +25,21 @@ public class CliMain : IDisposable
2525
new ElapsedTimeColumn(),
2626
new ProgressBarColumn()
2727
};
28-
29-
static CliMain()
30-
{
31-
}
3228

33-
private static readonly Progress Prg_1 = AnsiConsole.Progress().Columns(PrgCol_1);
29+
static CliMain() { }
30+
31+
private static readonly Progress Prg_1 = AnsiConsole.Progress()
32+
.AutoClear(true)
33+
.AutoRefresh(true)
34+
.HideCompleted(false)
35+
.Columns(PrgCol_1);
3436

3537
public static async Task RunCliAsync(string c)
3638
{
3739
var q = await Prg_1.StartAsync(async ctx =>
3840
{
3941
var t = ctx.AddTask("Validating input");
40-
42+
t.IsIndeterminate = true;
4143
var qInner = await SearchQuery.TryCreateAsync(c);
4244
t.Increment(COMPLETE);
4345
return qInner;
@@ -47,8 +49,9 @@ public static async Task RunCliAsync(string c)
4749

4850
var url = await Prg_1.StartAsync(async (p) =>
4951
{
50-
var pt = p.AddTask($"Upload");
51-
var urlInner= await q.UploadAsync();
52+
var pt = p.AddTask($"Upload");
53+
pt.IsIndeterminate = true;
54+
var urlInner = await q.UploadAsync();
5255
pt.Increment(COMPLETE);
5356
return urlInner;
5457

@@ -76,22 +79,26 @@ public static async Task RunCliAsync(string c)
7679

7780
foreach (var e in sc.Engines) {
7881
var t = ctx.AddTask($"{e}");
82+
t.IsIndeterminate = true;
7983
ptMap.Add(e, t);
8084
}
8185

8286
var pt1 = ctx.AddTask("[yellow]Searching[/]");
87+
pt1.IsIndeterminate = false;
8388
var rg = new ConcurrentBag<SearchResult>();
8489

8590
sc.OnComplete += (sender, searchResults) =>
8691
{
8792
pt1.Increment(COMPLETE);
8893
};
94+
pt1.MaxValue = sc.Engines.Length;
8995

9096
sc.OnResult += (sender, result) =>
9197
{
98+
rg.Add(result);
9299
ptMap[result.Engine].Increment(COMPLETE);
93-
pt1.Increment((double) rg.Count / sc.Engines.Length);
94-
100+
pt1.Increment((1.0));
101+
95102
};
96103

97104
var resultsInner = await sc.RunSearchAsync(q, cts.Token);
@@ -100,10 +107,11 @@ public static async Task RunCliAsync(string c)
100107
});
101108

102109
foreach (SearchResult sr in results) {
103-
AnsiConsole.MarkupLine($"[cyan]{sr.Engine.Name}[/]");
110+
AnsiConsole.MarkupLine($"[cyan][bold]{sr.Engine.Name}[/][/]");
111+
int i = 0;
104112
foreach (SearchResultItem sri in sr.Results) {
105-
AnsiConsole.MarkupLine($"[link={sri.Url}]{sr.Engine} #[/]");
106-
113+
AnsiConsole.MarkupLine($"[link={sri.Url}]{sr.Engine.Name} #{i+1}[/]");
114+
i++;
107115
}
108116
}
109117
}

0 commit comments

Comments
 (0)