Auto-Organize - Feature to remember/persist series matching in manual organization dialog: Changed to match against plain library name inste

This commit is contained in:
softworkz
2016-02-08 02:25:10 +01:00
parent 5a2778f6d8
commit 59c9081f4b
4 changed files with 12 additions and 15 deletions

View File

@@ -301,15 +301,14 @@ namespace MediaBrowser.Server.Implementations.FileOrganization
private void SaveSmartMatchString(string matchString, Series series, AutoOrganizeOptions options)
{
var seriesIdString = series.Id.ToString("N");
SmartMatchInfo info = options.SmartMatchInfos.FirstOrDefault(i => string.Equals(i.Id, seriesIdString));
SmartMatchInfo info = options.SmartMatchInfos.FirstOrDefault(i => string.Equals(i.ItemName, series.Name));
if (info == null)
{
info = new SmartMatchInfo();
info.Id = series.Id.ToString("N");
info.ItemName = series.Name;
info.OrganizerType = FileOrganizerType.Episode;
info.Name = series.Name;
info.DisplayName = series.Name;
var list = options.SmartMatchInfos.ToList();
list.Add(info);
options.SmartMatchInfos = list.ToArray();
@@ -499,7 +498,7 @@ namespace MediaBrowser.Server.Implementations.FileOrganization
series = _libraryManager.RootFolder
.GetRecursiveChildren(i => i is Series)
.Cast<Series>()
.FirstOrDefault(i => string.Equals(i.Id.ToString("N"), info.Id));
.FirstOrDefault(i => string.Equals(i.Name, info.ItemName));
}
}

View File

@@ -149,13 +149,11 @@ namespace MediaBrowser.Server.Implementations.FileOrganization
};
}
public void DeleteSmartMatchEntry(string IdString, string matchString)
public void DeleteSmartMatchEntry(string itemName, string matchString)
{
Guid Id;
if (!Guid.TryParse(IdString, out Id))
if (string.IsNullOrEmpty(itemName))
{
throw new ArgumentNullException("Id");
throw new ArgumentNullException("itemName");
}
if (string.IsNullOrEmpty(matchString))
@@ -165,7 +163,7 @@ namespace MediaBrowser.Server.Implementations.FileOrganization
var options = GetAutoOrganizeptions();
SmartMatchInfo info = options.SmartMatchInfos.FirstOrDefault(i => string.Equals(i.Id, IdString));
SmartMatchInfo info = options.SmartMatchInfos.FirstOrDefault(i => string.Equals(i.ItemName, itemName));
if (info != null && info.MatchStrings.Contains(matchString))
{