aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2015-12-26 13:35:53 -0500
committerLuke Pulverenti <luke.pulverenti@gmail.com>2015-12-26 13:36:51 -0500
commit0dcd698c17139b88dd33f4ab091c67525b9d1f98 (patch)
tree4347ccbc1a76fcb3248b9599b4c04cc398e824b4
parentfda7c3e9f8767bff7ddffc3b32d71d3055f25a00 (diff)
try to account for sloppy subtitle file naming
-rw-r--r--MediaBrowser.Providers/MediaInfo/SubtitleResolver.cs19
1 files changed, 18 insertions, 1 deletions
diff --git a/MediaBrowser.Providers/MediaInfo/SubtitleResolver.cs b/MediaBrowser.Providers/MediaInfo/SubtitleResolver.cs
index 30995ebad7..2c748d2b7e 100644
--- a/MediaBrowser.Providers/MediaInfo/SubtitleResolver.cs
+++ b/MediaBrowser.Providers/MediaInfo/SubtitleResolver.cs
@@ -33,12 +33,14 @@ namespace MediaBrowser.Providers.MediaInfo
var streams = new List<MediaStream>();
var videoFileNameWithoutExtension = _fileSystem.GetFileNameWithoutExtension(video.Path);
+ videoFileNameWithoutExtension = NormalizeFilenameForSubtitleComparison(videoFileNameWithoutExtension);
foreach (var file in files)
{
var fullName = file.FullName;
var fileNameWithoutExtension = _fileSystem.GetFileNameWithoutExtension(file);
+ fileNameWithoutExtension = NormalizeFilenameForSubtitleComparison(fileNameWithoutExtension);
var codec = Path.GetExtension(fullName).ToLower().TrimStart('.');
@@ -59,6 +61,8 @@ namespace MediaBrowser.Providers.MediaInfo
var isForced = fullName.IndexOf(".forced.", StringComparison.OrdinalIgnoreCase) != -1 ||
fullName.IndexOf(".foreign.", StringComparison.OrdinalIgnoreCase) != -1;
+ var isDefault = fullName.IndexOf(".default.", StringComparison.OrdinalIgnoreCase) != -1;
+
// Support xbmc naming conventions - 300.spanish.srt
var language = fileNameWithoutExtension
.Replace(".forced", string.Empty, StringComparison.OrdinalIgnoreCase)
@@ -84,7 +88,8 @@ namespace MediaBrowser.Providers.MediaInfo
Path = fullName,
Codec = codec,
Language = language,
- IsForced = isForced
+ IsForced = isForced,
+ IsDefault = isDefault
});
}
}
@@ -92,6 +97,18 @@ namespace MediaBrowser.Providers.MediaInfo
return streams;
}
+ private string NormalizeFilenameForSubtitleComparison(string filename)
+ {
+ // Try to account for sloppy file naming
+ filename = filename.Replace("-", string.Empty);
+ filename = filename.Replace("_", string.Empty);
+ filename = filename.Replace(" ", string.Empty);
+
+ //filename = filename.Replace(".", string.Empty);
+
+ return filename;
+ }
+
private static IEnumerable<string> SubtitleExtensions
{
get