Exemple #1
0
 // 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);
     });
 }
Exemple #2
0
        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)));
                    }
                }
            }
        }
Exemple #4
0
 // execute in thread
 private void UncompressFile(string downloadedFile, DownloadedFile_v1 <TKey> downloadFile, string downloadDirectory)
 {
     string[] uncompressFiles = _uncompressManager.Uncompress(downloadedFile);
     downloadFile.uncompressFiles = SetDirectoryFiles(uncompressFiles, downloadDirectory);
 }
Exemple #5
0
        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);
            }
        }