From 7a28f813e88dd0b9670b152d206164b473a19659 Mon Sep 17 00:00:00 2001 From: Timothy Baldridge Date: Wed, 6 Nov 2019 06:21:39 -0700 Subject: [PATCH] Emit more detailed modlist metadata --- Wabbajack.Lib/Compiler.cs | 6 +++++- Wabbajack.Lib/ModListRegistry/ModListMetadata.cs | 8 +++++++- Wabbajack.Test/ModlistMetadataTests.cs | 9 ++------- 3 files changed, 14 insertions(+), 9 deletions(-) diff --git a/Wabbajack.Lib/Compiler.cs b/Wabbajack.Lib/Compiler.cs index b5cfd63c..59b69f0f 100644 --- a/Wabbajack.Lib/Compiler.cs +++ b/Wabbajack.Lib/Compiler.cs @@ -352,7 +352,11 @@ namespace Wabbajack.Lib var metadata = new ModlistMetadata.DownloadMetadata { Size = File.GetSize(ModListOutputFile), - Hash = ModListOutputFile.FileHash() + Hash = ModListOutputFile.FileHash(), + NumberOfArchives = ModList.Archives.Count, + SizeOfArchives = ModList.Archives.Sum(a => a.Size), + NumberOfInstalledFiles = ModList.Directives.Count, + SizeOfInstalledFiles = ModList.Directives.Sum(a => a.Size) }; metadata.ToJSON(ModListOutputFile + ".meta.json"); diff --git a/Wabbajack.Lib/ModListRegistry/ModListMetadata.cs b/Wabbajack.Lib/ModListRegistry/ModListMetadata.cs index 2731517e..e6edf185 100644 --- a/Wabbajack.Lib/ModListRegistry/ModListMetadata.cs +++ b/Wabbajack.Lib/ModListRegistry/ModListMetadata.cs @@ -63,6 +63,12 @@ namespace Wabbajack.Lib.ModListRegistry { public string Hash { get; set; } public long Size { get; set; } + + public long NumberOfArchives { get; set; } + public long SizeOfArchives { get; set; } + public long NumberOfInstalledFiles { get; set; } + public long SizeOfInstalledFiles { get; set; } + } @@ -79,7 +85,7 @@ namespace Wabbajack.Lib.ModListRegistry if (!File.Exists(modlistPath)) return true; if (Links.DownloadMetadata?.Hash == null) { - return false; + return true; } return Links.DownloadMetadata.Hash != modlistPath.FileHash(); } diff --git a/Wabbajack.Test/ModlistMetadataTests.cs b/Wabbajack.Test/ModlistMetadataTests.cs index 0e8be1bf..13b715d0 100644 --- a/Wabbajack.Test/ModlistMetadataTests.cs +++ b/Wabbajack.Test/ModlistMetadataTests.cs @@ -19,8 +19,6 @@ namespace Wabbajack.Test Assert.IsTrue(modlists.Count > 0); } - // Disabled until the list of modlists stabalizes a bit - /* [TestMethod] public void VerifyLogoURLs() { @@ -30,11 +28,8 @@ namespace Wabbajack.Test { var logo_state = DownloadDispatcher.ResolveArchive(modlist.ImageUri); Assert.IsNotNull(logo_state); - //Assert.IsTrue(logo_state.Verify(), $"{modlist.ImageUri} is not valid"); - - //modlist.LoadLogo(); - //Assert.IsNotNull(modlist.Logo); + Assert.IsTrue(logo_state.Verify(), $"{modlist.ImageUri} is not valid"); } - }*/ + } } }