From 4a862524592fa1b807c5c71e8ead867e692905e2 Mon Sep 17 00:00:00 2001 From: Liam Neville Date: Thu, 16 Nov 2023 16:21:05 -0500 Subject: [PATCH] revert live table, reduce logging --- USTACLI/Driver.cs | 9 ++++- USTACLI/cli/ListRankingsCommand.cs | 63 +++++++++++++++--------------- USTACLI/usta-cli.csproj | 2 +- 3 files changed, 39 insertions(+), 35 deletions(-) diff --git a/USTACLI/Driver.cs b/USTACLI/Driver.cs index 2845a57..6dcaf6a 100644 --- a/USTACLI/Driver.cs +++ b/USTACLI/Driver.cs @@ -13,13 +13,18 @@ public static ChromeDriver Create() "--disable-gpu", "--disable-logging", "--disable-dev-shm-usage", + "--disable-crash-reporter", "--window-size=1920,1080", "--disable-extensions", - "--log-level=OFF", + "--log-level=3", "--user-agent=Chrome/73.0.3683.86", "--output=/dev/null" ); - return new ChromeDriver(options); + ChromeDriverService service = ChromeDriverService.CreateDefaultService(); + service.SuppressInitialDiagnosticInformation = true; + service.HideCommandPromptWindow = true; + service.EnableVerboseLogging = false; + return new ChromeDriver(service, options); } } diff --git a/USTACLI/cli/ListRankingsCommand.cs b/USTACLI/cli/ListRankingsCommand.cs index 51bd524..5917fcd 100644 --- a/USTACLI/cli/ListRankingsCommand.cs +++ b/USTACLI/cli/ListRankingsCommand.cs @@ -15,7 +15,6 @@ public override int Execute(CommandContext context, RankingsSettings settings) Utilities.InteractiveFallback(settings, configuration, context.Name); - List players = new List(); var table = new Table { @@ -34,41 +33,41 @@ public override int Execute(CommandContext context, RankingsSettings settings) new TableColumn(new Text("Location", new Style(Color.Purple, Color.Black)).LeftJustified()) }); + List players = new List(); + AnsiConsole - .Live(table) - .Cropping(VerticalOverflowCropping.Bottom) - .Overflow(VerticalOverflow.Ellipsis) - .Start(ctx => + .Status() + .Spinner(new TennisBallSpinner()) + .Start("Searching for rankings", _ctx => + { + var pageNumber = 1; + var keepFetching = true; + // Keep fetching as long as there are more players to fetch and we haven't exceeded settings.Top many players + while (keepFetching) { - var pageNumber = 1; - var keepFetching = true; - - // Keep fetching as long as there are more players to fetch and we haven't exceeded settings.Top many players - while (keepFetching) + // Create the chrome driver service + using (var driver = Driver.Create()) { - // Create the chrome driver service - using (var driver = Driver.Create()) + // Scrape a page of players, add them to the list, update the live table and increment the page number + var pageOfPlayers = ScrapeRankings(driver, configuration, settings, context.Name, pageNumber).Take(Math.Min(20, settings.Top - players.Count())); + players.AddRange(pageOfPlayers); + pageNumber++; + if (pageOfPlayers.Count() < 20 || players.Count() >= settings.Top) { - // Scrape a page of players, add them to the list, update the live table and increment the page number - var pageOfPlayers = ScrapeRankings(driver, configuration, settings, context.Name, pageNumber).Take(Math.Min(20, settings.Top)); - players.AddRange(pageOfPlayers); - pageNumber++; - - foreach (var player in pageOfPlayers) - { - table.AddRow(new string[] { player.Name.ToString(), player.DistrictRank.ToString(), player.SectionRank.ToString(), player.NationalRank.ToString(), player.TotalPoints.ToString(), player.Location.ToString() }); - } - - ctx.Refresh(); - - if (pageOfPlayers.Count() < 20 || players.Count() >= settings.Top) - { - keepFetching = false; - } - } // Driver gets disposed here - - } - }); + keepFetching = false; + } + } // Driver gets disposed here + } + foreach (var player in players) + { + table.AddRow(new string[] { player.Name.ToString(), player.DistrictRank.ToString(), player.SectionRank.ToString(), player.NationalRank.ToString(), player.TotalPoints.ToString(), player.Location.ToString() }); + } + }); + + // Write to Console + AnsiConsole.Clear(); + AnsiConsole.Write(table); + AnsiConsole.WriteLine(); return 0; } diff --git a/USTACLI/usta-cli.csproj b/USTACLI/usta-cli.csproj index c07194c..9b501cd 100644 --- a/USTACLI/usta-cli.csproj +++ b/USTACLI/usta-cli.csproj @@ -10,7 +10,7 @@ usta-cli ./nupkg README.md - 2.0.7 + 2.0.8 https://github.com/lineville/usta-cli git