static async Task Main(string[] args) { var downloader = new HtmlTextDownloader(); var audioElementRipper = new AudioElementRipper(); var titleRipper = new AudioTitleRipper(); var sourceRipper = new AudioSourceRipper(); var audioLibraryEntriesToJsonConverter = new AudioLibraryEntriesToJsonConverter(); var audioLibraryEntriesRetriever = new AudioLibraryEntriesRetriever(downloader, audioElementRipper, titleRipper, sourceRipper); try { var request = ProcessArgs(args); var audioLibraryEntries = await audioLibraryEntriesRetriever.RetrieveAsync(skillsKitLinks); var jsonString = audioLibraryEntriesToJsonConverter.ConvertToJsonString(audioLibraryEntries); var path = Path.GetDirectoryName(request.WritePath.AbsolutePath + @"\"); Console.WriteLine($"{request.WritePath.AbsolutePath}"); await File.WriteAllTextAsync(path, jsonString); } catch (System.UriFormatException) { Console.Write("There was a problem processing your request."); } }
public AudioLibraryEntriesRetriever(HtmlTextDownloader downloader, AudioElementRipper audioElementRipper, AudioTitleRipper audioTitleRipper, AudioSourceRipper audioSourceRipper) { this.downloader = downloader; this.audioElementRipper = audioElementRipper; this.audioTitleRipper = audioTitleRipper; this.audioSourceRipper = audioSourceRipper; }