From 57e95b2ea19ea97019df70bd7a5414984faaa1c7 Mon Sep 17 00:00:00 2001 From: Stevan Freeborn <65925598+StevanFreeborn@users.noreply.github.com> Date: Wed, 20 Aug 2025 22:17:06 -0500 Subject: [PATCH] feat: display location of output with link inside panel --- .../Commands/DefaultCommand.cs | 27 +++++++++---------- 1 file changed, 13 insertions(+), 14 deletions(-) diff --git a/src/StreamShorts.Console/Commands/DefaultCommand.cs b/src/StreamShorts.Console/Commands/DefaultCommand.cs index e469c7c..64af2fd 100644 --- a/src/StreamShorts.Console/Commands/DefaultCommand.cs +++ b/src/StreamShorts.Console/Commands/DefaultCommand.cs @@ -71,10 +71,7 @@ internal sealed class DefaultCommand( await _console.Status() .Spinner(Spinner.Known.Dots) - .StartAsync("Extracting audio...", async _ => - { - audioStream = await _audioExtractor.ExtractMp3FromMp4Async(videoStream); - }); + .StartAsync("Extracting audio...", async _ => audioStream = await _audioExtractor.ExtractMp3FromMp4Async(videoStream)); if (audioStream is null) { @@ -102,10 +99,8 @@ internal sealed class DefaultCommand( var now = _timeProvider.GetUtcNow(); var inputFileName = _fileSystem.Path.GetFileNameWithoutExtension(settings.Stream); - var outputDirectoryPath = _fileSystem.Path.Combine( - AppContext.BaseDirectory, - $"{now:yyyy_MM_dd_HH_mm_ss}_{inputFileName}" - ); + var outputDirectory = $"{now:yyyy_MM_dd_HH_mm_ss}_{inputFileName}"; + var outputDirectoryPath = _fileSystem.Path.Combine(AppContext.BaseDirectory, outputDirectory); _fileSystem.Directory.CreateDirectory(outputDirectoryPath); @@ -118,10 +113,7 @@ internal sealed class DefaultCommand( await _console.Status() .Spinner(Spinner.Known.Dots) - .StartAsync("Analyzing transcript...", async _ => - { - analysis = await _transcriptAnalyzer.AnalyzeAsync(transcriptionSegments); - }); + .StartAsync("Analyzing transcript...", async _ => analysis = await _transcriptAnalyzer.AnalyzeAsync(transcriptionSegments)); if (analysis is null) { @@ -149,14 +141,21 @@ internal sealed class DefaultCommand( } }); - _console.MarkupLine($"[blue]Shorts created[/] [green]successfully![/]"); + var directoryUri = new Uri(outputDirectoryPath).AbsoluteUri; + var panel = new Panel($"[blue link={directoryUri}]{outputDirectory}[/]") + { + Header = new PanelHeader($"[blue]Shorts created[/] [green]successfully![/]") + }; - return 0; + _console.Write(panel); + + return (int)ExitCode.SuccessFullyProcessedStream; } private enum ExitCode { FailedToExtractAudio, FailedToAnalyzeTranscript, + SuccessFullyProcessedStream, } } \ No newline at end of file