diff --git a/src/Jackett/Indexers/CardigannIndexer.cs b/src/Jackett/Indexers/CardigannIndexer.cs index 62021de5d..761d12c98 100644 --- a/src/Jackett/Indexers/CardigannIndexer.cs +++ b/src/Jackett/Indexers/CardigannIndexer.cs @@ -1139,10 +1139,7 @@ namespace Jackett.Indexers release.MinimumSeedTime = ParseUtil.CoerceLong(value); break; case "imdb": - Regex IMDBRegEx = new Regex(@"(\d+)", RegexOptions.Compiled); - var IMDBMatch = IMDBRegEx.Match(value); - var IMDBId = IMDBMatch.Groups[1].Value; - release.Imdb = ParseUtil.CoerceLong(IMDBId); + release.Imdb = ParseUtil.GetLongFromString(value); break; case "rageid": Regex RageIDRegEx = new Regex(@"(\d+)", RegexOptions.Compiled); diff --git a/src/Jackett/Utils/ParseUtil.cs b/src/Jackett/Utils/ParseUtil.cs index cbd15c71e..c6ed379f1 100644 --- a/src/Jackett/Utils/ParseUtil.cs +++ b/src/Jackett/Utils/ParseUtil.cs @@ -74,6 +74,18 @@ namespace Jackett.Utils return long.TryParse(NormalizeNumber(str), NumberStyles.Any, CultureInfo.InvariantCulture, out result); } + public static long? GetLongFromString(string str) + { + if (str == null) + return null; + Regex IdRegEx = new Regex(@"(\d+)", RegexOptions.Compiled); + var IdMatch = IdRegEx.Match(str); + if (!IdMatch.Success) + return null; + var Id = IdMatch.Groups[1].Value; + return CoerceLong(Id); + } + public static int? GetImdbID(string imdbstr) { if (imdbstr == null)