public static async Task DownloadManga(Illustration illustration, string rootPath) { if (!illustration.IsManga) { throw new InvalidOperationException(); } var mangaDir = TextBuffer.GetOrCreateDirectory(Path.Combine(rootPath, $"[{Texts.FormatPath(illustration.UserName)}]{illustration.Id}")); for (var i = 0; i < illustration.MangaMetadata.Length; i++) { var url = illustration.MangaMetadata[i].Origin.IsNullOrEmpty() ? illustration.MangaMetadata[i].Large : illustration.MangaMetadata[i].Origin; #if DEBUG Trace.WriteLine(url); #endif await File.WriteAllBytesAsync(Path.Combine(mangaDir, $"{i}{GetExtension(url)}"), await FromUrlInternal(url)); } }
public static async Task DownloadIllust(Illustration illustration, string rootPath) { var path = Directory.CreateDirectory(rootPath).FullName; if (illustration.IsManga) { await DownloadManga(illustration, path); } else if (illustration.IsUgoira) { await DownloadUgoira(illustration, path); } else { var url = illustration.Origin.IsNullOrEmpty() ? illustration.Large : illustration.Origin; await File.WriteAllBytesAsync(Path.Combine(path, $"[{Texts.FormatPath(illustration.UserName)}]{illustration.Id}{Texts.GetExtension(url)}"), await FromUrlInternal(url)); } }