Fixed: Subtitle tags from existing subtitle files being lost during rename
Closes #5577
This commit is contained in:
parent
8c50cd061e
commit
3141bf7f9d
|
@ -1,4 +1,4 @@
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using NLog;
|
using NLog;
|
||||||
|
@ -78,6 +78,7 @@ namespace NzbDrone.Core.Extras.Subtitles
|
||||||
EpisodeFileId = localEpisode.Episodes.First().EpisodeFileId,
|
EpisodeFileId = localEpisode.Episodes.First().EpisodeFileId,
|
||||||
RelativePath = series.Path.GetRelativePath(possibleSubtitleFile),
|
RelativePath = series.Path.GetRelativePath(possibleSubtitleFile),
|
||||||
Language = LanguageParser.ParseSubtitleLanguage(possibleSubtitleFile),
|
Language = LanguageParser.ParseSubtitleLanguage(possibleSubtitleFile),
|
||||||
|
LanguageTags = LanguageParser.ParseLanguageTags(possibleSubtitleFile),
|
||||||
Extension = extension
|
Extension = extension
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
@ -185,9 +185,9 @@ namespace NzbDrone.Core.Extras.Subtitles
|
||||||
var subFile = new SubtitleFile
|
var subFile = new SubtitleFile
|
||||||
{
|
{
|
||||||
Language = language,
|
Language = language,
|
||||||
Extension = extension
|
Extension = extension,
|
||||||
|
LanguageTags = languageTags
|
||||||
};
|
};
|
||||||
subFile.LanguageTags = languageTags.ToList();
|
|
||||||
subFile.RelativePath = PathExtensions.GetRelativePath(sourceFolder, file);
|
subFile.RelativePath = PathExtensions.GetRelativePath(sourceFolder, file);
|
||||||
subtitleFiles.Add(subFile);
|
subtitleFiles.Add(subFile);
|
||||||
}
|
}
|
||||||
|
|
|
@ -226,7 +226,7 @@ namespace NzbDrone.Core.Parser
|
||||||
return Language.Unknown;
|
return Language.Unknown;
|
||||||
}
|
}
|
||||||
|
|
||||||
public static IEnumerable<string> ParseLanguageTags(string fileName)
|
public static List<string> ParseLanguageTags(string fileName)
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
|
@ -235,14 +235,14 @@ namespace NzbDrone.Core.Parser
|
||||||
var languageTags = match.Groups["tags"].Captures.Cast<Capture>()
|
var languageTags = match.Groups["tags"].Captures.Cast<Capture>()
|
||||||
.Where(tag => !tag.Value.Empty())
|
.Where(tag => !tag.Value.Empty())
|
||||||
.Select(tag => tag.Value.ToLower());
|
.Select(tag => tag.Value.ToLower());
|
||||||
return languageTags;
|
return languageTags.ToList();
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
Logger.Debug(ex, "Failed parsing language tags from subtitle file: {0}", fileName);
|
Logger.Debug(ex, "Failed parsing language tags from subtitle file: {0}", fileName);
|
||||||
}
|
}
|
||||||
|
|
||||||
return Enumerable.Empty<string>();
|
return new List<string>();
|
||||||
}
|
}
|
||||||
|
|
||||||
private static List<Language> RegexLanguage(string title)
|
private static List<Language> RegexLanguage(string title)
|
||||||
|
|
Loading…
Reference in New Issue