aboutsummaryrefslogtreecommitdiff
path: root/Emby.Naming
diff options
context:
space:
mode:
authorBond_009 <bond.009@outlook.com>2024-08-01 17:17:10 +0200
committerBond_009 <bond.009@outlook.com>2024-08-01 17:17:10 +0200
commit0a0de6708e0b900ca616b108dfdf94894a56a6e0 (patch)
tree1aca75209585000b43f79ec471317594ea59d1c3 /Emby.Naming
parent623f9f6d8a3f6827a1ce23895f08b322c82199c4 (diff)
Enable more analyser rules as errors
Also deduplicates a bit of code inside of SeasonPathParser and adds some more tests
Diffstat (limited to 'Emby.Naming')
-rw-r--r--Emby.Naming/TV/SeasonPathParser.cs15
1 files changed, 6 insertions, 9 deletions
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 = ['.', '_', ' ', '-'];
+
/// <summary>
/// Attempts to parse season number from path.
/// </summary>
@@ -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);
}