mirror of
https://github.com/wabbajack-tools/wabbajack.git
synced 2024-08-30 18:42:17 +00:00
Extraction fixes
This commit is contained in:
parent
bc975c1840
commit
74c4360da9
@ -37,7 +37,7 @@ namespace Wabbajack.VirtualFileSystem
|
||||
return false;
|
||||
}
|
||||
|
||||
public Task<ExtractedFiles> ExtractAll(WorkQueue queue, IEnumerable<RelativePath> OnlyFiles)
|
||||
public Task<ExtractedFiles> ExtractAll(WorkQueue queue, IEnumerable<RelativePath> OnlyFiles, bool throwOnError)
|
||||
{
|
||||
throw new Exception("BSAs can't contain archives");
|
||||
}
|
||||
|
@ -33,9 +33,9 @@ namespace Wabbajack.VirtualFileSystem
|
||||
return await FileExtractor.CanExtract(_path);
|
||||
}
|
||||
|
||||
public Task<ExtractedFiles> ExtractAll(WorkQueue queue, IEnumerable<RelativePath> onlyFiles)
|
||||
public Task<ExtractedFiles> ExtractAll(WorkQueue queue, IEnumerable<RelativePath> onlyFiles, bool throwOnError)
|
||||
{
|
||||
return FileExtractor.ExtractAll(queue, _path, onlyFiles);
|
||||
return FileExtractor.ExtractAll(queue, _path, onlyFiles, throwOnError);
|
||||
}
|
||||
|
||||
public async Task MoveTo(AbsolutePath path)
|
||||
|
@ -27,7 +27,7 @@ namespace Wabbajack.VirtualFileSystem
|
||||
Definitions.FileType.RAR,
|
||||
Definitions.FileType._7Z);
|
||||
|
||||
public static async Task<ExtractedFiles> ExtractAll(WorkQueue queue, AbsolutePath source, IEnumerable<RelativePath> OnlyFiles = null)
|
||||
public static async Task<ExtractedFiles> ExtractAll(WorkQueue queue, AbsolutePath source, IEnumerable<RelativePath> OnlyFiles = null, bool throwOnError = true)
|
||||
{
|
||||
try
|
||||
{
|
||||
@ -35,6 +35,8 @@ namespace Wabbajack.VirtualFileSystem
|
||||
|
||||
if (source.Extension == Consts.OMOD)
|
||||
return await ExtractAllWithOMOD(source);
|
||||
|
||||
Utils.Log($"Extracting {sig}");
|
||||
|
||||
switch (sig)
|
||||
{
|
||||
@ -53,6 +55,9 @@ namespace Wabbajack.VirtualFileSystem
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
if (!throwOnError)
|
||||
return new ExtractedFiles(await TempFolder.Create());
|
||||
|
||||
Utils.ErrorThrow(ex, $"Error while extracting {source}");
|
||||
throw new Exception();
|
||||
}
|
||||
|
@ -16,7 +16,7 @@ namespace Wabbajack.VirtualFileSystem
|
||||
|
||||
public Task<bool> CanExtract();
|
||||
|
||||
public Task<ExtractedFiles> ExtractAll(WorkQueue queue, IEnumerable<RelativePath> Only = null);
|
||||
public Task<ExtractedFiles> ExtractAll(WorkQueue queue, IEnumerable<RelativePath> Only = null, bool throwOnError = false);
|
||||
|
||||
public Task MoveTo(AbsolutePath path);
|
||||
|
||||
|
@ -233,7 +233,7 @@ namespace Wabbajack.VirtualFileSystem
|
||||
try
|
||||
{
|
||||
|
||||
await using var extracted = await extractedFile.ExtractAll(context.Queue);
|
||||
await using var extracted = await extractedFile.ExtractAll(context.Queue, throwOnError:false);
|
||||
|
||||
var list = await extracted
|
||||
.PMap(context.Queue,
|
||||
|
Loading…
Reference in New Issue
Block a user