diff --git a/SabreTools.Helper/Tools/Style.cs b/SabreTools.Helper/Tools/Style.cs index f9c8e8e5..bbb833c2 100644 --- a/SabreTools.Helper/Tools/Style.cs +++ b/SabreTools.Helper/Tools/Style.cs @@ -433,6 +433,77 @@ namespace SabreTools.Helper.Tools return Path.Combine(hash.Substring(0, 2), hash.Substring(2, 2), hash.Substring(4, 2), hash.Substring(6, 2), hash + ".gz"); } + /// + /// Get the multiplier to be used with the size given + /// + /// String with possible size with extension + /// Tuple of multiplier to use on final size and fixed size string + public static long GetSizeFromString(string sizestring) + { + long size = 0; + + // Make sure the string is in lower case + sizestring = sizestring.ToLowerInvariant(); + + // Get any trailing size identifiers + long multiplier = 1; + if (sizestring.EndsWith("k") || sizestring.EndsWith("kb")) + { + multiplier = Constants.KiloByte; + } + else if (sizestring.EndsWith("ki") || sizestring.EndsWith("kib")) + { + multiplier = Constants.KibiByte; + } + else if (sizestring.EndsWith("m") || sizestring.EndsWith("mb")) + { + multiplier = Constants.MegaByte; + } + else if (sizestring.EndsWith("mi") || sizestring.EndsWith("mib")) + { + multiplier = Constants.MibiByte; + } + else if (sizestring.EndsWith("g") || sizestring.EndsWith("gb")) + { + multiplier = Constants.GigaByte; + } + else if (sizestring.EndsWith("gi") || sizestring.EndsWith("gib")) + { + multiplier = Constants.GibiByte; + } + else if (sizestring.EndsWith("t") || sizestring.EndsWith("tb")) + { + multiplier = Constants.TeraByte; + } + else if (sizestring.EndsWith("ti") || sizestring.EndsWith("tib")) + { + multiplier = Constants.TibiByte; + } + else if (sizestring.EndsWith("p") || sizestring.EndsWith("pb")) + { + multiplier = Constants.PetaByte; + } + else if (sizestring.EndsWith("pi") || sizestring.EndsWith("pib")) + { + multiplier = Constants.PibiByte; + } + + // Remove any trailing identifiers + sizestring = sizestring.TrimEnd(new char[] { 'k', 'm', 'g', 't', 'p', 'i', 'b', ' ' }); + + // Now try to get the size from the string + if (!Int64.TryParse(sizestring, out size)) + { + size = -1; + } + else + { + size *= multiplier; + } + + return size; + } + /// /// Get if a string contains Unicode characters /// diff --git a/SabreTools/Partials/SabreTools.Helpers.cs b/SabreTools/Partials/SabreTools.Helpers.cs deleted file mode 100644 index 111cc2e6..00000000 --- a/SabreTools/Partials/SabreTools.Helpers.cs +++ /dev/null @@ -1,84 +0,0 @@ -using System; - -using SabreTools.Helper.Data; - -namespace SabreTools -{ - public partial class SabreTools - { - #region Helper methods - - /// - /// Get the multiplier to be used with the size given - /// - /// String with possible size with extension - /// Tuple of multiplier to use on final size and fixed size string - private static long GetSizeFromString(string sizestring) - { - long size = 0; - - // Make sure the string is in lower case - sizestring = sizestring.ToLowerInvariant(); - - // Get any trailing size identifiers - long multiplier = 1; - if (sizestring.EndsWith("k") || sizestring.EndsWith("kb")) - { - multiplier = Constants.KiloByte; - } - else if (sizestring.EndsWith("ki") || sizestring.EndsWith("kib")) - { - multiplier = Constants.KibiByte; - } - else if (sizestring.EndsWith("m") || sizestring.EndsWith("mb")) - { - multiplier = Constants.MegaByte; - } - else if (sizestring.EndsWith("mi") || sizestring.EndsWith("mib")) - { - multiplier = Constants.MibiByte; - } - else if (sizestring.EndsWith("g") || sizestring.EndsWith("gb")) - { - multiplier = Constants.GigaByte; - } - else if (sizestring.EndsWith("gi") || sizestring.EndsWith("gib")) - { - multiplier = Constants.GibiByte; - } - else if (sizestring.EndsWith("t") || sizestring.EndsWith("tb")) - { - multiplier = Constants.TeraByte; - } - else if (sizestring.EndsWith("ti") || sizestring.EndsWith("tib")) - { - multiplier = Constants.TibiByte; - } - else if (sizestring.EndsWith("p") || sizestring.EndsWith("pb")) - { - multiplier = Constants.PetaByte; - } - else if (sizestring.EndsWith("pi") || sizestring.EndsWith("pib")) - { - multiplier = Constants.PibiByte; - } - - // Remove any trailing identifiers - sizestring = sizestring.TrimEnd(new char[] { 'k', 'm', 'g', 't', 'p', 'i', 'b', ' ' }); - - // Now try to get the size from the string - if (!Int64.TryParse(sizestring, out size)) - { - size = -1; - } - else - { - size *= multiplier; - } - - return size; - } - - #endregion - } -} diff --git a/SabreTools/SabreTools.cs b/SabreTools/SabreTools.cs index 9c0e7195..2e8d2c78 100644 --- a/SabreTools/SabreTools.cs +++ b/SabreTools/SabreTools.cs @@ -6,6 +6,7 @@ using SabreTools.Helper; using SabreTools.Helper.Data; using SabreTools.Helper.Dats; using SabreTools.Helper.Help; +using SabreTools.Helper.Tools; #if MONO using System.IO; @@ -824,11 +825,11 @@ namespace SabreTools break; case "-seq": case "--equal": - filter.SizeEqualTo = GetSizeFromString(args[++i]); + filter.SizeEqualTo = Style.GetSizeFromString(args[++i]); break; case "-sgt": case "--greater": - filter.SizeGreaterThanOrEqual = GetSizeFromString(args[++i]); + filter.SizeGreaterThanOrEqual = Style.GetSizeFromString(args[++i]); break; case "-sha1": case "--sha1": @@ -848,7 +849,7 @@ namespace SabreTools break; case "-slt": case "--less": - filter.SizeLessThanOrEqual = GetSizeFromString(args[++i]); + filter.SizeLessThanOrEqual = Style.GetSizeFromString(args[++i]); break; case "-t": case "--temp": @@ -1099,11 +1100,11 @@ namespace SabreTools break; case "-seq": case "--equal": - filter.SizeEqualTo = GetSizeFromString(split[1]); + filter.SizeEqualTo = Style.GetSizeFromString(split[1]); break; case "-sgt": case "--greater": - filter.SizeGreaterThanOrEqual = GetSizeFromString(split[1]); + filter.SizeGreaterThanOrEqual = Style.GetSizeFromString(split[1]); break; case "-sha1": case "--sha1": @@ -1123,7 +1124,7 @@ namespace SabreTools break; case "-slt": case "--less": - filter.SizeLessThanOrEqual = GetSizeFromString(split[1]); + filter.SizeLessThanOrEqual = Style.GetSizeFromString(split[1]); break; case "-t": case "--temp": diff --git a/SabreTools/SabreTools.csproj b/SabreTools/SabreTools.csproj index 5c391db6..9f6d7f0f 100644 --- a/SabreTools/SabreTools.csproj +++ b/SabreTools/SabreTools.csproj @@ -122,7 +122,6 @@ -