// not used private void AsyncUncompressFile(string downloadedFile, DownloadedFile_v1 <TKey> downloadFile, string downloadDirectory) { _uncompressManager.AsyncUncompress(downloadedFile, uncompressFiles => { downloadFile.uncompressFiles = SetDirectoryFiles(uncompressFiles, downloadDirectory); _mongoDownloadedFileManager.Save(downloadFile.id, downloadFile); }); }
public DownloadState GetDownloadFileState(TKey key) { DownloadedFile_v1 <TKey> downloadFile = GetDownloadedFile(key); if (downloadFile != null) { return(downloadFile.state); } DownloadFile_v1 <TKey> queueDownloadFile = GetQueueDownloadFile(key); if (queueDownloadFile != null) { return(queueDownloadFile.state); } return(DownloadState.NotDownloaded); }
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))); } } } }
// execute in thread private void UncompressFile(string downloadedFile, DownloadedFile_v1 <TKey> downloadFile, string downloadDirectory) { string[] uncompressFiles = _uncompressManager.Uncompress(downloadedFile); downloadFile.uncompressFiles = SetDirectoryFiles(uncompressFiles, downloadDirectory); }
private void EndDownloadFile(DownloadFile_v1 <TKey> downloadFile) { try { DownloadedFile_v1 <TKey> downloadedFile = new DownloadedFile_v1 <TKey> { key = downloadFile.key, downloadLinks = downloadFile.downloadLinks, downloadLink = downloadFile.downloadLink, file = downloadFile.file, state = downloadFile.state, requestTime = downloadFile.requestTime, startDownloadTime = downloadFile.startDownloadTime, endDownloadTime = DateTime.Now, downloadDuration = DateTime.Now - downloadFile.startDownloadTime }; string downloadedPath = _downloadClient.GetDownloadLocalFileById(downloadFile.downloadId); string downloadDirectory = zPath.GetDirectoryName(downloadFile.file); //if (_trace) //{ // pb.Trace.WriteLine("ManageEndDownloadFiles() : downloadFile.file : \"{0}\"", downloadFile.file); // pb.Trace.WriteLine("ManageEndDownloadFiles() : _downloadClient.GetDownloadLocalFileById() : \"{0}\"", downloadedPath); //} downloadedFile.downloadedFile = zpath.PathSetDirectory(downloadedPath, downloadDirectory); downloadedFile.id = _mongoDownloadedFileManager.GetNewId(); _mongoDownloadedFileManager.Save(downloadedFile.id, downloadedFile); _mongoQueueDownloadFileManager.Remove(downloadFile.id); _downloadClient.RemoveDownloadById(downloadFile.downloadId); // _uncompressFile if (downloadFile.state == DownloadState.DownloadCompleted && _uncompressManager != null && CompressManager.IsCompressFile(downloadedPath)) { TaskManager.AddTask(new Task { name = "Uncompress download file", task = () => { UncompressFile(downloadedPath, downloadedFile, downloadDirectory); _mongoDownloadedFileManager.Save(downloadedFile.id, downloadedFile); } }); if (_onDownloaded != null) { TaskManager.AddTask(new Task { name = "onDownloaded", task = () => _onDownloaded(downloadedFile) }); } } else if (_onDownloaded != null) { _onDownloaded(downloadedFile); } DownloadFile_v1 <TKey> downloadFile2; if (!_downloadFiles.TryRemove(downloadFile.id, out downloadFile2)) { pb.Trace.WriteLine("error unable to remove downloadFile with id {0} from ConcurrentDictionary _downloadFiles (DownloadManager<TKey>.ManageEndDownloadFiles())", downloadFile.id); } } catch (Exception exception) { pb.Trace.WriteLine("error in DownloadManager_v1.EndDownloadFile() : {0}", exception.Message); pb.Trace.WriteLine(exception.StackTrace); } }