Enable more analyser rules as errors

Also deduplicates a bit of code inside of SeasonPathParser and adds some more tests
This commit is contained in:
Bond_009
2024-08-01 17:17:10 +02:00
parent 623f9f6d8a
commit 0a0de6708e
5 changed files with 66 additions and 45 deletions

View File

@@ -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);
}