From 6a9ca9295f1e558b1b5acbbeb1ae88c8ac4ca2ab Mon Sep 17 00:00:00 2001 From: Mark McDowall Date: Tue, 16 Jul 2013 23:58:50 -0700 Subject: [PATCH] Fixed parsing of NzbClub releases below 1GB --- NzbDrone.Core/Indexers/BasicRssParser.cs | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/NzbDrone.Core/Indexers/BasicRssParser.cs b/NzbDrone.Core/Indexers/BasicRssParser.cs index 2d9e3c090..e9dc56bb8 100644 --- a/NzbDrone.Core/Indexers/BasicRssParser.cs +++ b/NzbDrone.Core/Indexers/BasicRssParser.cs @@ -133,7 +133,7 @@ namespace NzbDrone.Core.Indexers return header; } - private static readonly Regex ReportSizeRegex = new Regex(@"(?\d+\.\d{1,2}|\d+\,\d+\.\d{1,2})\W?(?GB|MB|GiB|MiB)", + private static readonly Regex ReportSizeRegex = new Regex(@"(?\d+\.\d{1,2}|\d+)\W?(?GB|MB|GiB|MiB)", RegexOptions.IgnoreCase | RegexOptions.Compiled); @@ -148,11 +148,17 @@ namespace NzbDrone.Core.Indexers var unit = match[0].Groups["unit"].Value; - if (unit.Equals("MB", StringComparison.InvariantCultureIgnoreCase) || unit.Equals("MiB", StringComparison.InvariantCultureIgnoreCase)) - return Convert.ToInt64(value * 1048576L); + if (unit.Equals("MB", StringComparison.InvariantCultureIgnoreCase) || + unit.Equals("MiB", StringComparison.InvariantCultureIgnoreCase)) + { + return Convert.ToInt32(value).Megabytes(); + } - if (unit.Equals("GB", StringComparison.InvariantCultureIgnoreCase) || unit.Equals("GiB", StringComparison.InvariantCultureIgnoreCase)) - return Convert.ToInt64(value * 1073741824L); + if (unit.Equals("GB", StringComparison.InvariantCultureIgnoreCase) || + unit.Equals("GiB", StringComparison.InvariantCultureIgnoreCase)) + { + return Convert.ToInt32(value).Gigabytes(); + } } return 0; }