mirror of
https://github.com/wabbajack-tools/wabbajack.git
synced 2024-08-30 18:42:17 +00:00
bit of code cleanup and additions to the report
This commit is contained in:
parent
b1c2f17784
commit
ebc548ee04
@ -6,6 +6,7 @@
|
||||
* Log when the executable is being generated
|
||||
* Fixed a integer overflow resulting in a crash in very large BSA reading
|
||||
* Fix a bug in BSA string encoding
|
||||
* Add human friendly filesizes to the download header and file info sections in the Install Report
|
||||
|
||||
#### Version 0.9.1 - 9/5/2019
|
||||
* Fixed a bug where having only one profile selected would result in no profiles being selected
|
||||
|
@ -406,5 +406,16 @@ namespace Wabbajack.Common
|
||||
return default(V);
|
||||
}
|
||||
|
||||
private static string[] Suffix = { "B", "KB", "MB", "GB", "TB", "PB", "EB" }; //Longs run out around EB
|
||||
public static string ToFileSizeString(this long byteCount)
|
||||
{
|
||||
if (byteCount == 0)
|
||||
return "0" + Suffix[0];
|
||||
long bytes = Math.Abs(byteCount);
|
||||
int place = Convert.ToInt32(Math.Floor(Math.Log(bytes, 1024)));
|
||||
double num = Math.Round(bytes / Math.Pow(1024, place), 1);
|
||||
return (Math.Sign(byteCount) * num).ToString() + Suffix[place];
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
@ -506,6 +506,7 @@ namespace Wabbajack
|
||||
result.Name = found.Name;
|
||||
result.Hash = found.File.Hash;
|
||||
result.Meta = found.Meta;
|
||||
result.Size = found.File.Size;
|
||||
|
||||
Info($"Checking link for {found.Name}");
|
||||
|
||||
|
@ -172,6 +172,8 @@ namespace Wabbajack
|
||||
/// Meta INI for the downloaded archive
|
||||
/// </summary>
|
||||
public string Meta;
|
||||
|
||||
public long Size;
|
||||
}
|
||||
|
||||
public class NexusMod : Archive
|
||||
|
@ -41,7 +41,7 @@ namespace Wabbajack
|
||||
public void Build(ModList lst)
|
||||
{
|
||||
Text($"### {lst.Name} - Installation Summary");
|
||||
Text($"#### Download Summary ({lst.Archives.Count} archives)");
|
||||
Text($"#### Download Summary ({lst.Archives.Count} archives - {lst.Archives.Sum(a => a.Size).ToFileSizeString()})");
|
||||
foreach (var archive in SortArchives(lst.Archives))
|
||||
{
|
||||
var hash = archive.Hash.FromBase64().ToHEX();
|
||||
@ -52,25 +52,23 @@ namespace Wabbajack
|
||||
NoWrapText($"* [{m.Name}](http://nexusmods.com/{NexusAPI.ConvertGameName(m.GameName)}/mods/{m.ModID})");
|
||||
NoWrapText($" * Author : [{m.UploadedBy}]({profile})");
|
||||
NoWrapText($" * Version : {m.Version}");
|
||||
NoWrapText($" * SHA256 : [{hash}](https://www.virustotal.com/gui/file/{hash})");
|
||||
break;
|
||||
case MODDBArchive m:
|
||||
NoWrapText($"* MODDB - [{m.Name}]({m.URL})");
|
||||
NoWrapText($" * SHA256 : [{hash}](https://www.virustotal.com/gui/file/{hash})");
|
||||
break;
|
||||
case MEGAArchive m:
|
||||
NoWrapText($"* MEGA - [{m.Name}]({m.URL})");
|
||||
NoWrapText($" * SHA256 : [{hash}](https://www.virustotal.com/gui/file/{hash})");
|
||||
break;
|
||||
case GoogleDriveMod m:
|
||||
NoWrapText($"* GoogleDrive - [{m.Name}](https://drive.google.com/uc?id={m.Id}&export=download)");
|
||||
NoWrapText($" * SHA256 : [{hash}](https://www.virustotal.com/gui/file/{hash})");
|
||||
break;
|
||||
case DirectURLArchive m:
|
||||
NoWrapText($"* URL - [{m.Name} - {m.URL}]({m.URL})");
|
||||
NoWrapText($" * SHA256 : [{hash}](https://www.virustotal.com/gui/file/{hash})");
|
||||
break;
|
||||
}
|
||||
NoWrapText($" * Size : {archive.Size.ToFileSizeString()}");
|
||||
NoWrapText($" * SHA256 : [{hash}](https://www.virustotal.com/gui/file/{hash})");
|
||||
|
||||
}
|
||||
Text($"\n\n");
|
||||
var patched = lst.Directives.OfType<PatchedFromArchive>().OrderBy(p => p.To).ToList();
|
||||
|
Loading…
Reference in New Issue
Block a user