private void RenameTmpFiles() { // example : // rename tmp file "g:\pib\media\ebook\print\.02_hebdo\Le point\2016\Le point - 2016-05-26 - no 16107.pdf.tmp" // to "g:\pib\media\ebook\print\.02_hebdo\Le point\2016\Le point - 2016-05-26 - no 16107.pdf" // rename info tmp file "g:\pib\media\ebook\print\.02_hebdo\Le point\2016\.i\Le point - 2016-05-26 - no 16107.pdf.i.tmp" // to "g:\pib\media\ebook\print\.02_hebdo\Le point\2016\.i\Le point - 2016-05-26 - no 16107.pdf.i" foreach (string file in _moveFiles) { Trace.WriteLine("rename tmp file \"{0}\"", file + ".tmp"); Trace.WriteLine(" to \"{0}\"", file); string infoFile = null; bool moveInfoFile = false; if (_moveInfoFiles) { infoFile = InfoFile.GetInfoFile(file); if (zFile.Exists(infoFile + ".tmp")) { moveInfoFile = true; Trace.WriteLine("rename tmp info file \"{0}\"", infoFile + ".tmp"); Trace.WriteLine(" to \"{0}\"", infoFile); } } if (!_simulate) { zFile.Move(file + ".tmp", file); if (moveInfoFile) { zFile.Move(infoFile + ".tmp", infoFile); } } } }
private void SaveDownloadedFileInfo(IPostToDownload post, DownloadedFile downloadedFile) { //if (_downloadDirectory == null || downloadedFile.File == null) // return; //string file = zPath.Combine(_downloadDirectory, zPath.GetDirectoryName(downloadedFile.File), _infoDirectory, zPath.GetFileName(downloadedFile.File)) + _infoSuffixFile; if (_downloadDirectory == null || downloadedFile.DownloadedFiles.Length == 0) { return; } // save info file to sub-directory .i, file = .i\filename.i string file = downloadedFile.DownloadedFiles[0]; //file = zPath.Combine(_downloadDirectory, zPath.GetDirectoryName(file), _infoDirectory, zPath.GetFileName(file)) + _infoSuffixFile; file = zPath.Combine(_downloadDirectory, InfoFile.GetInfoFile(file)); zfile.CreateFileDirectory(file); BsonDocument postDocument; if (post != null) { postDocument = post.ToBsonDocument(); } else { postDocument = new BsonDocument(); } new BsonDocument { { "Post", postDocument }, { "DownloadedFile", downloadedFile.ToBsonDocument() } }.zSave(file); }
private void MoveFileToTmp(string sourcePath, string destinationPath) { // example : // move file "g:\pib\media\ebook\_dl\_dl_pib\print\03\print\.02_hebdo\Le point\Le point - 2016-05-26 - no 16107.pdf" // to "g:\pib\media\ebook\print\.02_hebdo\Le point\2016\Le point - 2016-05-26 - no 16107.pdf.tmp" // move info file "g:\pib\media\ebook\_dl\_dl_pib\print\03\print\.02_hebdo\Le point\.i\Le point - 2016-05-26 - no 16107.pdf.i" // to "g:\pib\media\ebook\print\.02_hebdo\Le point\2016\.i\Le point - 2016-05-26 - no 16107.pdf.i.tmp" _moveFiles.Add(destinationPath); string tmpDestinationPath = destinationPath + ".tmp"; Trace.WriteLine("move file \"{0}\"", sourcePath); Trace.WriteLine(" to \"{0}\"", tmpDestinationPath); string sourceInfoPath = null; string tmpDestinationInfoPath = null; bool moveInfoFile = false; if (_moveInfoFiles) { sourceInfoPath = InfoFile.GetInfoFile(sourcePath); if (zFile.Exists(sourceInfoPath)) { moveInfoFile = true; tmpDestinationInfoPath = InfoFile.GetInfoFile(destinationPath) + ".tmp"; Trace.WriteLine("move info file \"{0}\"", sourceInfoPath); Trace.WriteLine(" to \"{0}\"", tmpDestinationInfoPath); } } if (!_simulate) { zfile.CreateFileDirectory(tmpDestinationPath); zFile.Move(sourcePath, tmpDestinationPath); if (moveInfoFile) { zfile.CreateFileDirectory(tmpDestinationInfoPath); zFile.Move(sourceInfoPath, tmpDestinationInfoPath); } } }
private void DeleteDuplicateFiles(List <FileGroup_v2> files) { for (int i1 = 0; i1 < files.Count - 1;) { FileGroup_v2 file1 = files[i1]; bool deleteFile1 = false; for (int i2 = i1 + 1; i2 < files.Count;) { FileGroup_v2 file2 = files[i2]; bool deleteFile2 = false; if (_simulate) { Trace.WriteLine("compare file \"{0}\"", file1.File); //Trace.WriteLine(" with \"{0}\"", file2.File); Trace.WriteLine(" with \"{0}\"", file2.File); if (_moveInfoFiles) { Trace.WriteLine(" concat info files"); } } else { if (zfile.AreFileEqual(file1.File, file2.File)) { if (!file1.DestinationDirectoryFile && file2.DestinationDirectoryFile) { deleteFile1 = true; } else if (file1.DestinationDirectoryFile && !file2.DestinationDirectoryFile) { deleteFile2 = true; } else if (file1.Number <= file2.Number) { deleteFile2 = true; //pathFile1 = file2.File; //pathFile2 = file1.File; } else { deleteFile1 = true; //pathFile1 = file1.File; //pathFile2 = file2.File; } string pathFile1, pathFile2; if (deleteFile1) { pathFile1 = file1.File; pathFile2 = file2.File; } else { pathFile1 = file2.File; pathFile2 = file1.File; } Trace.WriteLine("delete file \"{0}\"", pathFile1); Trace.WriteLine(" identical to \"{0}\"", pathFile2); zFile.Delete(pathFile1); if (_moveInfoFiles) { string pathInfoFile1 = InfoFile.GetInfoFile(pathFile1); string pathInfoFile2 = InfoFile.GetInfoFile(pathFile2); if (zFile.Exists(pathInfoFile1)) { if (zFile.Exists(pathInfoFile2)) { Trace.WriteLine(" append info file \"{0}\" to \"{0}\"", pathInfoFile1, pathInfoFile2); } else { Trace.WriteLine(" move info file \"{0}\" to \"{0}\"", pathInfoFile1, pathInfoFile2); } } else { if (zFile.Exists(pathInfoFile2)) { Trace.WriteLine(" no info file to append"); } else { Trace.WriteLine(" no info file"); } } // append pathInfoFile1 to pathInfoFile2 InfoFile.ConcatFiles(pathInfoFile2, pathInfoFile1); } } } if (deleteFile1) { break; } if (deleteFile2) { files.RemoveAt(i2); } else { i2++; } } if (deleteFile1) { files.RemoveAt(i1); } else { i1++; } } }