From 0a0de6708e0b900ca616b108dfdf94894a56a6e0 Mon Sep 17 00:00:00 2001 From: Bond_009 Date: Thu, 1 Aug 2024 17:17:10 +0200 Subject: Enable more analyser rules as errors Also deduplicates a bit of code inside of SeasonPathParser and adds some more tests --- Emby.Naming/TV/SeasonPathParser.cs | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) (limited to 'Emby.Naming') diff --git a/Emby.Naming/TV/SeasonPathParser.cs b/Emby.Naming/TV/SeasonPathParser.cs index fc9ee8e56..45b91971b 100644 --- a/Emby.Naming/TV/SeasonPathParser.cs +++ b/Emby.Naming/TV/SeasonPathParser.cs @@ -24,6 +24,8 @@ namespace Emby.Naming.TV "stagione" }; + private static readonly char[] _splitChars = ['.', '_', ' ', '-']; + /// /// Attempts to parse season number from path. /// @@ -83,14 +85,9 @@ namespace Emby.Naming.TV } } - if (filename.StartsWith("s", StringComparison.OrdinalIgnoreCase)) + if (TryGetSeasonNumberFromPart(filename, out int seasonNumber)) { - var testFilename = filename.AsSpan().Slice(1); - - if (int.TryParse(testFilename, NumberStyles.Integer, CultureInfo.InvariantCulture, out var val)) - { - return (val, true); - } + return (seasonNumber, true); } // Look for one of the season folder names @@ -108,10 +105,10 @@ namespace Emby.Naming.TV } } - var parts = filename.Split(new[] { '.', '_', ' ', '-' }, StringSplitOptions.RemoveEmptyEntries); + var parts = filename.Split(_splitChars, StringSplitOptions.RemoveEmptyEntries); foreach (var part in parts) { - if (TryGetSeasonNumberFromPart(part, out int seasonNumber)) + if (TryGetSeasonNumberFromPart(part, out seasonNumber)) { return (seasonNumber, true); } -- cgit v1.2.3