mirror of
https://github.com/claunia/osrepodbmgr.git
synced 2025-12-16 19:14:25 +00:00
Added support for LZip.
This commit is contained in:
@@ -186,6 +186,9 @@ namespace osrepodbmgr.Core
|
||||
case AlgoEnum.LZMA:
|
||||
extension = ".lzma";
|
||||
break;
|
||||
case AlgoEnum.LZip:
|
||||
extension = ".lz";
|
||||
break;
|
||||
}
|
||||
|
||||
#if DEBUG
|
||||
@@ -220,6 +223,9 @@ namespace osrepodbmgr.Core
|
||||
outFs.Write(((LzmaStream)zStream).Properties, 0, ((LzmaStream)zStream).Properties.Length);
|
||||
outFs.Write(BitConverter.GetBytes(inFs.Length), 0, 8);
|
||||
break;
|
||||
case AlgoEnum.LZip:
|
||||
zStream = new LZipStream(outFs, SharpCompress.Compressors.CompressionMode.Compress);
|
||||
break;
|
||||
}
|
||||
|
||||
byte[] buffer = new byte[bufferSize];
|
||||
@@ -745,6 +751,17 @@ namespace osrepodbmgr.Core
|
||||
file.Sha256 + ".lzma");
|
||||
algorithm = AlgoEnum.LZMA;
|
||||
}
|
||||
else if(File.Exists(Path.Combine(Settings.Current.RepositoryPath, file.Sha256[0].ToString(),
|
||||
file.Sha256[1].ToString(), file.Sha256[2].ToString(),
|
||||
file.Sha256[3].ToString(), file.Sha256[4].ToString(),
|
||||
file.Sha256 + ".lz")))
|
||||
{
|
||||
repoPath = Path.Combine(Settings.Current.RepositoryPath, file.Sha256[0].ToString(),
|
||||
file.Sha256[1].ToString(), file.Sha256[2].ToString(),
|
||||
file.Sha256[3].ToString(), file.Sha256[4].ToString(),
|
||||
file.Sha256 + ".lz");
|
||||
algorithm = AlgoEnum.LZip;
|
||||
}
|
||||
else
|
||||
throw new ArgumentException(string.Format("Cannot find file with hash {0} in the repository", file.Sha256));
|
||||
|
||||
@@ -764,6 +781,9 @@ namespace osrepodbmgr.Core
|
||||
inFs.Seek(8, SeekOrigin.Current);
|
||||
zStream = new LzmaStream(properties, inFs, inFs.Length - 13, file.Length);
|
||||
break;
|
||||
case AlgoEnum.LZip:
|
||||
zStream = new LZipStream(inFs, SharpCompress.Compressors.CompressionMode.Decompress);
|
||||
break;
|
||||
}
|
||||
|
||||
return zStream;
|
||||
|
||||
Reference in New Issue
Block a user