public override IEnumerable <object> Invoke(object argument, Context context) { var metadataBuilder = new StringBuilder(); metadataBuilder.AppendLine("====================="); foreach (var entry in context.Metadata) { metadataBuilder.AppendFormat("{0}:{1}\n", entry.Key, entry.Value); } var path = comicPath.DownloadPathFor(context.ComicId, context.ComicId + ".txt"); file.AppendAllText(path, metadataBuilder.ToString()); return(null); }
private string[] Download(IEnumerable <Uri> links, Context context) { var downloadedFiles = new List <string>(); foreach (var link in links) { var downloadPath = comicPath.DownloadPathFor(context.ComicId, link); ReportStripDownloading(link, downloadPath, context); if ( file.Exists(comicPath.DownloadPathForPreviousIndex(context.ComicId, link)) || file.Exists(downloadPath) ) { ReportStripAlreadyDownloaded(link, context); continue; } try { downloader.Download(link, downloadPath); } catch (WebException ex) { Warn(context, ex.Message); continue; } downloadedFiles.Add(downloadPath); ReportStripDownloaded(link, context); EmbedMetadataIfEnabled(downloadPath, context); Sleep(context); } return(downloadedFiles.ToArray()); }