mirror of
https://github.com/wabbajack-tools/wabbajack.git
synced 2024-08-30 18:42:17 +00:00
Fix Wabbajack.CLI
This commit is contained in:
parent
37683d73a5
commit
9d79aa7381
@ -139,6 +139,8 @@ namespace Wabbajack.CLI.Verbs
|
|||||||
CLIUtils.Log($"Hashing {f}");
|
CLIUtils.Log($"Hashing {f}");
|
||||||
return (f, await f.FileHashCachedAsync());
|
return (f, await f.FileHashCachedAsync());
|
||||||
}))
|
}))
|
||||||
|
.Where(x => x.Item2.HasValue)
|
||||||
|
.Select(x => (x.f, x.Item2!.Value))
|
||||||
.GroupBy(d => d.Item2)
|
.GroupBy(d => d.Item2)
|
||||||
.ToDictionary(d => d.Key, d => d.First().f);
|
.ToDictionary(d => d.Key, d => d.First().f);
|
||||||
|
|
||||||
|
@ -28,8 +28,14 @@ namespace Wabbajack.CLI.Verbs
|
|||||||
var oldHash = await Old.FileHashCachedAsync();
|
var oldHash = await Old.FileHashCachedAsync();
|
||||||
var newHash = await New.FileHashCachedAsync();
|
var newHash = await New.FileHashCachedAsync();
|
||||||
|
|
||||||
var oldArchive = new Archive(oldState) {Hash = oldHash, Size = Old.Size};
|
if (oldHash == null)
|
||||||
var newArchive = new Archive(newState) {Hash = newHash, Size = New.Size};
|
return ExitCode.Error;
|
||||||
|
|
||||||
|
if (newHash == null)
|
||||||
|
return ExitCode.Error;
|
||||||
|
|
||||||
|
var oldArchive = new Archive(oldState) {Hash = oldHash!.Value, Size = Old.Size};
|
||||||
|
var newArchive = new Archive(newState) {Hash = newHash!.Value, Size = New.Size};
|
||||||
|
|
||||||
Utils.Log($"Contacting Server to request patch ({oldHash} -> {newHash}");
|
Utils.Log($"Contacting Server to request patch ({oldHash} -> {newHash}");
|
||||||
Utils.Log($"Response: {await ClientAPI.GetModUpgrade(oldArchive, newArchive, useAuthor: true)}");
|
Utils.Log($"Response: {await ClientAPI.GetModUpgrade(oldArchive, newArchive, useAuthor: true)}");
|
||||||
|
@ -16,7 +16,12 @@ namespace Wabbajack.CLI.Verbs
|
|||||||
{
|
{
|
||||||
var abs = (AbsolutePath)Input;
|
var abs = (AbsolutePath)Input;
|
||||||
var hash = await abs.FileHashAsync();
|
var hash = await abs.FileHashAsync();
|
||||||
Console.WriteLine($"{abs} hash: {hash} {hash.ToHex()} {(long)hash}");
|
if (hash == null)
|
||||||
|
{
|
||||||
|
Console.WriteLine("Hash is null!");
|
||||||
|
return ExitCode.Error;
|
||||||
|
}
|
||||||
|
Console.WriteLine($"{abs} hash: {hash} {hash.Value.ToHex()} {(long)hash}");
|
||||||
return ExitCode.Ok;
|
return ExitCode.Ok;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -31,25 +31,26 @@ namespace Wabbajack.CLI.Verbs
|
|||||||
|
|
||||||
Utils.Log($"Hashing files for {_game} {version}");
|
Utils.Log($"Hashing files for {_game} {version}");
|
||||||
|
|
||||||
var indexed = await gameLocation
|
var indexed = (await gameLocation
|
||||||
.EnumerateFiles()
|
.EnumerateFiles()
|
||||||
.PMap(queue, async f =>
|
.PMap(queue, async f =>
|
||||||
{
|
{
|
||||||
var hash = await f.FileHashCachedAsync();
|
var hash = await f.FileHashCachedAsync();
|
||||||
|
if (hash == null) return null;
|
||||||
return new Archive(new GameFileSourceDownloader.State
|
return new Archive(new GameFileSourceDownloader.State
|
||||||
{
|
{
|
||||||
Game = _game,
|
Game = _game,
|
||||||
GameFile = f.RelativeTo(gameLocation),
|
GameFile = f.RelativeTo(gameLocation),
|
||||||
Hash = hash,
|
Hash = hash.Value,
|
||||||
GameVersion = version
|
GameVersion = version
|
||||||
})
|
})
|
||||||
{
|
{
|
||||||
Name = f.FileName.ToString(),
|
Name = f.FileName.ToString(),
|
||||||
Hash = hash,
|
Hash = hash.Value,
|
||||||
Size = f.Size
|
Size = f.Size
|
||||||
};
|
};
|
||||||
|
|
||||||
});
|
})).NotNull().ToArray();
|
||||||
|
|
||||||
Utils.Log($"Found and hashed {indexed.Length} files");
|
Utils.Log($"Found and hashed {indexed.Length} files");
|
||||||
await indexed.ToJsonAsync(file, prettyPrint: true);
|
await indexed.ToJsonAsync(file, prettyPrint: true);
|
||||||
|
Loading…
Reference in New Issue
Block a user