diff options
| author | Luke Pulverenti <luke.pulverenti@gmail.com> | 2013-09-23 12:48:35 -0400 |
|---|---|---|
| committer | Luke Pulverenti <luke.pulverenti@gmail.com> | 2013-09-23 12:48:35 -0400 |
| commit | c905051b163946ab70bae94468d071fdb5925fae (patch) | |
| tree | 83522fa1c88f1404c73e5251781eabb010fd243a /MediaBrowser.ServerApplication/Implementations/DotNetZipClient.cs | |
| parent | baa5be2157f70095be319bcfe4a0f5a1cbdd5d1c (diff) | |
switch to sharp compress to add 7z support
Diffstat (limited to 'MediaBrowser.ServerApplication/Implementations/DotNetZipClient.cs')
| -rw-r--r-- | MediaBrowser.ServerApplication/Implementations/DotNetZipClient.cs | 21 |
1 files changed, 13 insertions, 8 deletions
diff --git a/MediaBrowser.ServerApplication/Implementations/DotNetZipClient.cs b/MediaBrowser.ServerApplication/Implementations/DotNetZipClient.cs index 3b174a9b2..4a9afac3f 100644 --- a/MediaBrowser.ServerApplication/Implementations/DotNetZipClient.cs +++ b/MediaBrowser.ServerApplication/Implementations/DotNetZipClient.cs @@ -1,5 +1,6 @@ -using Ionic.Zip; -using MediaBrowser.Model.IO; +using MediaBrowser.Model.IO; +using SharpCompress.Common; +using SharpCompress.Reader; using System.IO; namespace MediaBrowser.ServerApplication.Implementations @@ -19,10 +20,7 @@ namespace MediaBrowser.ServerApplication.Implementations { using (var fileStream = File.OpenRead(sourceFile)) { - using (var zipFile = ZipFile.Read(fileStream)) - { - zipFile.ExtractAll(targetPath, overwriteExistingFiles ? ExtractExistingFileAction.OverwriteSilently : ExtractExistingFileAction.DoNotOverwrite); - } + ExtractAll(fileStream, targetPath, overwriteExistingFiles); } } @@ -34,9 +32,16 @@ namespace MediaBrowser.ServerApplication.Implementations /// <param name="overwriteExistingFiles">if set to <c>true</c> [overwrite existing files].</param> public void ExtractAll(Stream source, string targetPath, bool overwriteExistingFiles) { - using (var zipFile = ZipFile.Read(source)) + using (var reader = ReaderFactory.Open(source)) { - zipFile.ExtractAll(targetPath, overwriteExistingFiles ? ExtractExistingFileAction.OverwriteSilently : ExtractExistingFileAction.DoNotOverwrite); + var options = ExtractOptions.ExtractFullPath; + + if (overwriteExistingFiles) + { + options = options | ExtractOptions.Overwrite; + } + + reader.WriteAllToDirectory(targetPath, options); } } } |
