private async Task DownloadChapter(DownloadChapterTask task, string mangaLocalPath, IProgress <int> progress) { var chapter = task.Chapter; progress.Report(0); var service = FrameworkProvider.GetService(chapter.Url); var images = await service.FindImages(chapter, new Progress <int>(count => { progress.Report(count / 2); }), _source.Token); var tempFolder = Path.Combine(Path.GetTempPath(), Path.GetRandomFileName()); Directory.CreateDirectory(tempFolder); await DownloadImages(images, tempFolder, progress); var folderName = chapter.Name; var finalFolder = Path.Combine(mangaLocalPath, folderName); if (task.Formats.Contains(OutputFormat.Folder)) { if (!Directory.Exists(finalFolder)) { Directory.CreateDirectory(finalFolder); } ExtensionHelper.SuperMove(tempFolder, finalFolder); } if (task.Formats.Contains(OutputFormat.CBZ)) { PackageCbzHelper.Create(tempFolder, Path.Combine(task.SaveToFolder, task.Chapter.Name + ".cbz")); } progress.Report(100); }
private async Task DownloadChapter(DownloadChapterTask task, IProgress <int> progress) { var chapter = task.Chapter; progress.Report(0); var service = ServiceManager.GetService(chapter.Url); var images = await service.FindImages(chapter, new Progress <int>(count => { progress.Report(count / 2); }), _source.Token); var tempFolder = Path.Combine(Path.GetTempPath(), Path.GetRandomFileName()); Directory.CreateDirectory(tempFolder); await DownloadImages(images, tempFolder, progress); if (task.Formats.Contains(OutputFormat.Folder)) { if (!Directory.Exists(task.SaveToFolder)) { Directory.CreateDirectory(task.SaveToFolder); } ExtensionHelper.SuperMove(tempFolder, task.SaveToFolder); } if (task.Formats.Contains(OutputFormat.CBZ)) { cbz.Create(tempFolder, task.SaveToFolder + ".cbz"); } progress.Report(100); }