From 36685edd492dae4988340e485fecf40bb7d3bdcb Mon Sep 17 00:00:00 2001 From: Taloth Saldono Date: Mon, 10 Aug 2020 23:56:46 +0200 Subject: [PATCH] Fixed: Exception when parsing Quality in release title with colon Signed-off-by: Robin Dadswell --- src/NzbDrone.Common/Extensions/PathExtensions.cs | 11 +++++++++++ src/NzbDrone.Core/Parser/QualityParser.cs | 3 ++- 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/src/NzbDrone.Common/Extensions/PathExtensions.cs b/src/NzbDrone.Common/Extensions/PathExtensions.cs index 82dbb49c4..9d749a86e 100644 --- a/src/NzbDrone.Common/Extensions/PathExtensions.cs +++ b/src/NzbDrone.Common/Extensions/PathExtensions.cs @@ -72,6 +72,17 @@ public static bool PathEquals(this string firstPath, string secondPath, StringCo return string.Equals(firstPath.CleanFilePath(), secondPath.CleanFilePath(), comparison.Value); } + public static string GetPathExtension(this string path) + { + var idx = path.LastIndexOf('.'); + if (idx == -1 || idx == path.Length - 1) + { + return string.Empty; + } + + return path.Substring(idx); + } + public static string GetRelativePath(this string parentPath, string childPath) { if (!parentPath.IsParentPath(childPath)) diff --git a/src/NzbDrone.Core/Parser/QualityParser.cs b/src/NzbDrone.Core/Parser/QualityParser.cs index a0aee4ddd..2f30c8c44 100644 --- a/src/NzbDrone.Core/Parser/QualityParser.cs +++ b/src/NzbDrone.Core/Parser/QualityParser.cs @@ -2,6 +2,7 @@ using System.IO; using System.Text.RegularExpressions; using NLog; +using NzbDrone.Common.Disk; using NzbDrone.Common.Extensions; using NzbDrone.Common.Instrumentation; using NzbDrone.Core.MediaFiles; @@ -94,7 +95,7 @@ public static QualityModel ParseQuality(string name, string desc = null) { try { - result.Quality = MediaFileExtensions.GetQualityForExtension(Path.GetExtension(name)); + result.Quality = MediaFileExtensions.GetQualityForExtension(name.GetPathExtension()); result.QualityDetectionSource = QualityDetectionSource.Extension; } catch (ArgumentException)