// used to download one post public bool TryDownloadPost(IPostToDownload_v1 post, string downloadDirectory = null, bool forceDownloadAgain = false, bool forceSelect = false, bool simulateDownload = false) { if (_downloadAllPrintType != null) { forceSelect = forceSelect || _downloadAllPrintType(post.GetPrintType()); } FindPrintInfo findPrint = FindPrint(post.GetTitle(), post.GetPrintType(), forceSelect); if (!findPrint.found) { TracePost(post, "post not selected"); return(false); } // corrigé le 20/11/2014 //DownloadPostKey key = new DownloadPostKey { server = post.server, id = post.id }; DownloadPostKey_v1 key = new DownloadPostKey_v1 { server = post.GetServer(), id = post.GetKey() }; // state : NotDownloaded, WaitToDownload, DownloadStarted, DownloadCompleted, DownloadFailed DownloadState state = GetDownloadFileState(key); //if (state != DownloadState.NotDownloaded && !forceDownloadAgain) if ((state == DownloadState.WaitToDownload || state == DownloadState.DownloadStarted || state == DownloadState.DownloadCompleted) && !forceDownloadAgain) { if (FilterTracePost(state)) { TracePost(post, "post " + GetDownloadStateText1(state), findPrint.file); } return(false); } string file = findPrint.file; if (downloadDirectory != null) { file = downloadDirectory + "\\" + file; } if (simulateDownload) { TracePost(post, "simulate start download", file); return(false); } else { TracePost(post, "start download", file); } if (_downloadManager_v1 != null) { Try(() => _downloadManager_v1.DownloadFile(key, post.GetDownloadLinks(), file)); } if (_downloadManager != null) { Try(() => _downloadManager.AddFileToDownload(key, post.GetDownloadLinks_new(), file)); } return(true); }
private static string GetPostMessage(IPostToDownload_v1 post, string message, string file = null, string downloadLink = null, bool formated = true) { int messageLength = 50; int printTypeLength = 25; if (!formated) { messageLength = 0; printTypeLength = 0; } //string formatMessage; //if (formated) // formatMessage = "{0,-50}"; //else // formatMessage = "{0}"; //string formatPrintType; //if (formated) // formatPrintType = "{0,-25}"; //else // formatPrintType = "{0}"; StringBuilder sb = new StringBuilder(); sb.AppendFormat("{0:dd-MM-yyyy HH:mm:ss}", DateTime.Now); sb.Append(" - "); //sb.AppendFormat("{0,-50}", message); sb.Append(message.PadRight(messageLength)); sb.Append(" - "); if (post != null) { //sb.AppendFormat("{0,-25} - ", post.GetPrintType()); sb.Append(post.GetPrintType().ToString().PadRight(printTypeLength)); sb.Append(" - "); sb.AppendFormat("\"{0}\"", post.GetTitle()); } else { sb.Append("(post is null)"); } if (file != null) { sb.AppendFormat(" - \"{0}\"", file); } if (post != null) { sb.AppendFormat(" - \"{0}\"", post.GetDataHttpRequest().Url); } if (downloadLink != null) { sb.AppendFormat(" - link \"{0}\"", downloadLink); } return(sb.ToString()); }
private void Downloaded(DownloadedFile_v2 <DownloadPostKey_v1> downloadedFile) { string message = GetDownloadStateText2(downloadedFile.State); IPostToDownload_v1 post = LoadPost(downloadedFile.Key); //if (post != null) // TracePost(post, message, null, null); StringBuilder sb = new StringBuilder(); sb.AppendLine(GetPostMessage(post, message)); if (downloadedFile.DownloadedFiles != null) { foreach (string file in downloadedFile.DownloadedFiles) { sb.AppendLine(string.Format(" file : \"{0}\"", file)); } } if (downloadedFile.UncompressFiles != null) { foreach (string file in downloadedFile.UncompressFiles) { sb.AppendLine(string.Format(" uncompress file : \"{0}\"", file)); } } Trace.Write(sb.ToString()); //MailAddLine(string.Format("{0} {1:dd-MM-yyyy HH:mm:ss}", message, DateTime.Now)); MailAddLine(GetPostMessage(post, message, formated: false)); if (downloadedFile.DownloadedFiles != null) { foreach (string file in downloadedFile.DownloadedFiles) { MailAddLine(string.Format(" file : \"{0}\"", file)); } } if (downloadedFile.UncompressFiles != null) { foreach (string file in downloadedFile.UncompressFiles) { MailAddLine(string.Format(" uncompress file : \"{0}\"", file)); } } //if (downloadedFile.State == DownloadState.DownloadCompleted) //{ // if (downloadedFile.UncompressFiles != null) // { // foreach (string uncompressFile in downloadedFile.UncompressFiles) // { // MailAddLine(string.Format(" {0}\r\n", zPath.GetFileName(uncompressFile))); // } // } //} }
private void Downloaded(DownloadedFile_v1 <DownloadPostKey_v1> downloadFile) { string message = GetDownloadStateText2(downloadFile.state); IPostToDownload_v1 post = LoadPost(downloadFile.key); if (post != null) { TracePost(post, message, downloadFile.downloadedFile, downloadFile.downloadLink); } MailAddLine(string.Format("{0} {1} {2:dd-MM-yyyy HH:mm:ss}", zPath.GetFileName(downloadFile.downloadedFile), message, DateTime.Now)); if (downloadFile.state == DownloadState.DownloadCompleted) { if (downloadFile.uncompressFiles != null) { foreach (string uncompressFile in downloadFile.uncompressFiles) { //Trace.WriteLine(" \"{0}\"", uncompressFile); MailAddLine(string.Format(" {0}", zPath.GetFileName(uncompressFile))); } } } }
private static void TracePost(IPostToDownload_v1 post, string message, string file = null, string downloadLink = null) { Trace.WriteLine(GetPostMessage(post, message, file, downloadLink)); }