Document and clean up ZipClient.cs

This commit is contained in:
Patrick Barron 2020-04-14 15:16:04 -04:00
parent 9cec01d8ce
commit 90e2564169

View File

@ -22,10 +22,8 @@ namespace Emby.Server.Implementations.Archiving
/// <param name="overwriteExistingFiles">if set to <c>true</c> [overwrite existing files].</param> /// <param name="overwriteExistingFiles">if set to <c>true</c> [overwrite existing files].</param>
public void ExtractAll(string sourceFile, string targetPath, bool overwriteExistingFiles) public void ExtractAll(string sourceFile, string targetPath, bool overwriteExistingFiles)
{ {
using (var fileStream = File.OpenRead(sourceFile)) using var fileStream = File.OpenRead(sourceFile);
{ ExtractAll(fileStream, targetPath, overwriteExistingFiles);
ExtractAll(fileStream, targetPath, overwriteExistingFiles);
}
} }
/// <summary> /// <summary>
@ -36,67 +34,61 @@ namespace Emby.Server.Implementations.Archiving
/// <param name="overwriteExistingFiles">if set to <c>true</c> [overwrite existing files].</param> /// <param name="overwriteExistingFiles">if set to <c>true</c> [overwrite existing files].</param>
public void ExtractAll(Stream source, string targetPath, bool overwriteExistingFiles) public void ExtractAll(Stream source, string targetPath, bool overwriteExistingFiles)
{ {
using (var reader = ReaderFactory.Open(source)) using var reader = ReaderFactory.Open(source);
var options = new ExtractionOptions
{ {
var options = new ExtractionOptions(); ExtractFullPath = true
options.ExtractFullPath = true; };
if (overwriteExistingFiles) if (overwriteExistingFiles)
{ {
options.Overwrite = true; options.Overwrite = true;
}
reader.WriteAllToDirectory(targetPath, options);
} }
reader.WriteAllToDirectory(targetPath, options);
} }
/// <inheritdoc />
public void ExtractAllFromZip(Stream source, string targetPath, bool overwriteExistingFiles) public void ExtractAllFromZip(Stream source, string targetPath, bool overwriteExistingFiles)
{ {
using (var reader = ZipReader.Open(source)) using var reader = ZipReader.Open(source);
var options = new ExtractionOptions
{ {
var options = new ExtractionOptions(); ExtractFullPath = true,
options.ExtractFullPath = true; Overwrite = overwriteExistingFiles
};
if (overwriteExistingFiles) reader.WriteAllToDirectory(targetPath, options);
{
options.Overwrite = true;
}
reader.WriteAllToDirectory(targetPath, options);
}
} }
/// <inheritdoc />
public void ExtractAllFromGz(Stream source, string targetPath, bool overwriteExistingFiles) public void ExtractAllFromGz(Stream source, string targetPath, bool overwriteExistingFiles)
{ {
using (var reader = GZipReader.Open(source)) using var reader = GZipReader.Open(source);
var options = new ExtractionOptions
{ {
var options = new ExtractionOptions(); ExtractFullPath = true,
options.ExtractFullPath = true; Overwrite = overwriteExistingFiles
};
if (overwriteExistingFiles) reader.WriteAllToDirectory(targetPath, options);
{
options.Overwrite = true;
}
reader.WriteAllToDirectory(targetPath, options);
}
} }
/// <inheritdoc />
public void ExtractFirstFileFromGz(Stream source, string targetPath, string defaultFileName) public void ExtractFirstFileFromGz(Stream source, string targetPath, string defaultFileName)
{ {
using (var reader = GZipReader.Open(source)) using var reader = GZipReader.Open(source);
if (reader.MoveToNextEntry())
{ {
if (reader.MoveToNextEntry()) var entry = reader.Entry;
{
var entry = reader.Entry;
var filename = entry.Key; var filename = entry.Key;
if (string.IsNullOrWhiteSpace(filename)) if (string.IsNullOrWhiteSpace(filename))
{ {
filename = defaultFileName; filename = defaultFileName;
}
reader.WriteEntryToFile(Path.Combine(targetPath, filename));
} }
reader.WriteEntryToFile(Path.Combine(targetPath, filename));
} }
} }
@ -108,10 +100,8 @@ namespace Emby.Server.Implementations.Archiving
/// <param name="overwriteExistingFiles">if set to <c>true</c> [overwrite existing files].</param> /// <param name="overwriteExistingFiles">if set to <c>true</c> [overwrite existing files].</param>
public void ExtractAllFrom7z(string sourceFile, string targetPath, bool overwriteExistingFiles) public void ExtractAllFrom7z(string sourceFile, string targetPath, bool overwriteExistingFiles)
{ {
using (var fileStream = File.OpenRead(sourceFile)) using var fileStream = File.OpenRead(sourceFile);
{ ExtractAllFrom7z(fileStream, targetPath, overwriteExistingFiles);
ExtractAllFrom7z(fileStream, targetPath, overwriteExistingFiles);
}
} }
/// <summary> /// <summary>
@ -122,21 +112,15 @@ namespace Emby.Server.Implementations.Archiving
/// <param name="overwriteExistingFiles">if set to <c>true</c> [overwrite existing files].</param> /// <param name="overwriteExistingFiles">if set to <c>true</c> [overwrite existing files].</param>
public void ExtractAllFrom7z(Stream source, string targetPath, bool overwriteExistingFiles) public void ExtractAllFrom7z(Stream source, string targetPath, bool overwriteExistingFiles)
{ {
using (var archive = SevenZipArchive.Open(source)) using var archive = SevenZipArchive.Open(source);
using var reader = archive.ExtractAllEntries();
var options = new ExtractionOptions
{ {
using (var reader = archive.ExtractAllEntries()) ExtractFullPath = true,
{ Overwrite = overwriteExistingFiles
var options = new ExtractionOptions(); };
options.ExtractFullPath = true;
if (overwriteExistingFiles) reader.WriteAllToDirectory(targetPath, options);
{
options.Overwrite = true;
}
reader.WriteAllToDirectory(targetPath, options);
}
}
} }
/// <summary> /// <summary>
@ -147,10 +131,8 @@ namespace Emby.Server.Implementations.Archiving
/// <param name="overwriteExistingFiles">if set to <c>true</c> [overwrite existing files].</param> /// <param name="overwriteExistingFiles">if set to <c>true</c> [overwrite existing files].</param>
public void ExtractAllFromTar(string sourceFile, string targetPath, bool overwriteExistingFiles) public void ExtractAllFromTar(string sourceFile, string targetPath, bool overwriteExistingFiles)
{ {
using (var fileStream = File.OpenRead(sourceFile)) using var fileStream = File.OpenRead(sourceFile);
{ ExtractAllFromTar(fileStream, targetPath, overwriteExistingFiles);
ExtractAllFromTar(fileStream, targetPath, overwriteExistingFiles);
}
} }
/// <summary> /// <summary>
@ -161,21 +143,15 @@ namespace Emby.Server.Implementations.Archiving
/// <param name="overwriteExistingFiles">if set to <c>true</c> [overwrite existing files].</param> /// <param name="overwriteExistingFiles">if set to <c>true</c> [overwrite existing files].</param>
public void ExtractAllFromTar(Stream source, string targetPath, bool overwriteExistingFiles) public void ExtractAllFromTar(Stream source, string targetPath, bool overwriteExistingFiles)
{ {
using (var archive = TarArchive.Open(source)) using var archive = TarArchive.Open(source);
using var reader = archive.ExtractAllEntries();
var options = new ExtractionOptions
{ {
using (var reader = archive.ExtractAllEntries()) ExtractFullPath = true,
{ Overwrite = overwriteExistingFiles
var options = new ExtractionOptions(); };
options.ExtractFullPath = true;
if (overwriteExistingFiles) reader.WriteAllToDirectory(targetPath, options);
{
options.Overwrite = true;
}
reader.WriteAllToDirectory(targetPath, options);
}
}
} }
} }
} }