public static void SaveTo(this IWritableArchive writableArchive,
                           Stream stream, CompressionType compressionType)
 {
     writableArchive.SaveTo(stream, new CompressionInfo {
         Type = compressionType
     });
 }
Ejemplo n.º 2
0
 public static void SaveTo(this IWritableArchive writableArchive, FileInfo fileInfo, WriterOptions options)
 {
     using (var stream = fileInfo.Open(FileMode.Create, FileAccess.Write))
     {
         writableArchive.SaveTo(stream, options);
     }
 }
 public static void SaveTo(this IWritableArchive writableArchive,
                           string filePath, CompressionType compressionType)
 {
     writableArchive.SaveTo(new FileInfo(filePath), new CompressionInfo {
         Type = compressionType
     });
 }
        public static void SaveTo(IWritableArchive writableArchive, Stream stream, CompressionType compressionType)
        {
            CompressionInfo info = new CompressionInfo();

            info.Type = compressionType;
            writableArchive.SaveTo(stream, info);
        }
 public static IArchiveEntry AddEntry(this IWritableArchive writableArchive, string key, FileInfo fileInfo)
 {
     if (!fileInfo.Exists)
     {
         throw new ArgumentException("FileInfo does not exist.");
     }
     return(writableArchive.AddEntry(key, fileInfo.OpenRead(), true, fileInfo.Length, fileInfo.LastWriteTime));
 }
 public static void SaveTo(this IWritableArchive writableArchive,
                           FileInfo fileInfo, CompressionInfo compressionInfo)
 {
     using (var stream = fileInfo.Open(FileMode.Create, FileAccess.Write))
     {
         writableArchive.SaveTo(stream, compressionInfo);
     }
 }
Ejemplo n.º 7
0
        private string CreatePDDZip(string path)
        {
            string destination = Path.Combine(path, string.Format("pacchetto di distribuzione_{0:ddMMyyyyHHmmss}.zip", DateTime.Now));

            using (IWritableArchive archive = ArchiveFactory.Create(ArchiveType.Zip))
            {
                archive.AddAllFromDirectory(path);
                archive.SaveTo(destination, CompressionType.Deflate);
            }
            return(destination);
        }
Ejemplo n.º 8
0
 public static void AddAllFromDirectory(
     this IWritableArchive writableArchive,
     string filePath, string searchPattern = "*.*", SearchOption searchOption = SearchOption.AllDirectories)
 {
     foreach (var path in Directory.EnumerateFiles(filePath, searchPattern, searchOption))
     {
         var fileInfo = new FileInfo(path);
         writableArchive.AddEntry(path.Substring(filePath.Length), fileInfo.OpenRead(), true, fileInfo.Length,
                                  fileInfo.LastWriteTime);
     }
 }
        public static void AddEntry(this IWritableArchive writableArchive,
                                    string entryPath, string filePath)
        {
            var fileInfo = new FileInfo(filePath);

            if (!fileInfo.Exists)
            {
                throw new FileNotFoundException("Could not AddEntry: " + filePath);
            }
            writableArchive.AddEntry(entryPath, new FileInfo(filePath).OpenRead(), true, fileInfo.Length,
                                     fileInfo.LastWriteTime);
        }
Ejemplo n.º 10
0
        private string CreatePreservationZipToDownload(List <Preservation> preservations)
        {
            string destination = Path.Combine(ConfigurationHelper.GetAppDataPath(), string.Format("Preservation_{0:yyyyMMddHHmmss}.zip", DateTime.Now));

            using (IWritableArchive archive = ArchiveFactory.Create(ArchiveType.Zip))
            {
                foreach (Preservation preservation in preservations)
                {
                    string file = IpdaUtil.GetIpdaXmlFile(preservation.Path);
                    archive.AddEntry(string.Concat(preservation.IdPreservation, "_", Path.GetFileName(file)), file);
                }
                archive.SaveTo(destination, CompressionType.Deflate);
            }
            return(destination);
        }
Ejemplo n.º 11
0
 private static void SafeAddAllFromDirectory(
     this IWritableArchive writableArchive,
     string filePath, string searchPattern = "*.*", SearchOption searchOption = SearchOption.AllDirectories)
 {
     foreach (var path in Directory.EnumerateFiles(filePath, searchPattern, searchOption))
     {
         // On Unix we can get FileNotFoundException when getting FileInfo on symlink
         try
         {
             var fileInfo = new FileInfo(path);
             writableArchive.AddEntry(path.Substring(filePath.Length), fileInfo.OpenRead(), true, fileInfo.Length,
                                      fileInfo.LastWriteTime);
         }
         catch (Exception e)
         {
             Log.Warn("Can't access file at " + path, e);
         }
     }
 }
Ejemplo n.º 12
0
        private string CreateRDVToSignZipToDownload(ICollection <Guid> awardBatchIds)
        {
            string destination       = Path.Combine(ConfigurationHelper.GetAppDataPath(), string.Format("RDVToSign_{0:yyyyMMddHHmmss}.zip", DateTime.Now));
            string folderDestination = Path.Combine(ConfigurationHelper.GetAppDataPath(), Guid.NewGuid().ToString());

            try
            {
                Directory.CreateDirectory(folderDestination);
                using (IWritableArchive archive = ArchiveFactory.Create(ArchiveType.Zip))
                    using (DocumentsClient client = new DocumentsClient())
                    {
                        Parallel.ForEach(awardBatchIds, (idAwardBatch) =>
                        {
                            AwardBatch awardBatch = _preservationService.GetAwardBatch(idAwardBatch);
                            if (!awardBatch.IdRDVDocument.HasValue)
                            {
                                _logger.WarnFormat("CreateRDVToSignZipToDownload -> RDV document not found for award batch {0}", idAwardBatch);
                                return;
                            }

                            DocumentContent content = client.GetDocumentContentById(awardBatch.IdRDVDocument.Value);
                            System.IO.File.WriteAllBytes(Path.Combine(folderDestination, string.Concat(idAwardBatch, "_", UtilityService.GetSafeFileName(content.Description))), content.Blob);
                        });
                        archive.AddAllFromDirectory(folderDestination);
                        archive.SaveTo(destination, CompressionType.Deflate);
                    }
            }
            finally
            {
                if (Directory.Exists(folderDestination))
                {
                    Directory.Delete(folderDestination, true);
                }
            }
            return(destination);
        }
 public static void SaveTo(this IWritableArchive writableArchive,
                           string filePath, CompressionInfo compressionInfo)
 {
     writableArchive.SaveTo(new FileInfo(filePath), compressionInfo);
 }
Ejemplo n.º 14
0
 public static void SaveTo(this IWritableArchive writableArchive, string filePath, WriterOptions options)
 {
     writableArchive.SaveTo(new FileInfo(filePath), options);
 }
 public static void SaveTo(IWritableArchive writableArchive, Stream stream, CompressionType compressionType)
 {
     CompressionInfo info = new CompressionInfo();
     info.Type = compressionType;
     writableArchive.SaveTo(stream, info);
 }