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

@ -78,8 +78,8 @@ namespace MediaBrowser.Controller.FileOrganization
/// <summary> /// <summary>
/// Deletes a smart match entry. /// Deletes a smart match entry.
/// </summary> /// </summary>
/// <param name="Id">Item Id.</param> /// <param name="ItemName">Item name.</param>
/// <param name="matchString">The match string to delete.</param> /// <param name="matchString">The match string to delete.</param>
void DeleteSmartMatchEntry(string Id, string matchString); void DeleteSmartMatchEntry(string ItemName, string matchString);
} }
} }

View File

@ -3,8 +3,8 @@ namespace MediaBrowser.Model.FileOrganization
{ {
public class SmartMatchInfo public class SmartMatchInfo
{ {
public string Id { get; set; } public string ItemName { get; set; }
public string Name { get; set; } public string DisplayName { get; set; }
public FileOrganizerType OrganizerType { get; set; } public FileOrganizerType OrganizerType { get; set; }
public string[] MatchStrings { get; set; } public string[] MatchStrings { get; set; }

View File

@ -301,15 +301,14 @@ namespace MediaBrowser.Server.Implementations.FileOrganization
private void SaveSmartMatchString(string matchString, Series series, AutoOrganizeOptions options) private void SaveSmartMatchString(string matchString, Series series, AutoOrganizeOptions options)
{ {
var seriesIdString = series.Id.ToString("N"); SmartMatchInfo info = options.SmartMatchInfos.FirstOrDefault(i => string.Equals(i.ItemName, series.Name));
SmartMatchInfo info = options.SmartMatchInfos.FirstOrDefault(i => string.Equals(i.Id, seriesIdString));
if (info == null) if (info == null)
{ {
info = new SmartMatchInfo(); info = new SmartMatchInfo();
info.Id = series.Id.ToString("N"); info.ItemName = series.Name;
info.OrganizerType = FileOrganizerType.Episode; info.OrganizerType = FileOrganizerType.Episode;
info.Name = series.Name; info.DisplayName = series.Name;
var list = options.SmartMatchInfos.ToList(); var list = options.SmartMatchInfos.ToList();
list.Add(info); list.Add(info);
options.SmartMatchInfos = list.ToArray(); options.SmartMatchInfos = list.ToArray();
@ -499,7 +498,7 @@ namespace MediaBrowser.Server.Implementations.FileOrganization
series = _libraryManager.RootFolder series = _libraryManager.RootFolder
.GetRecursiveChildren(i => i is Series) .GetRecursiveChildren(i => i is Series)
.Cast<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 (string.IsNullOrEmpty(itemName))
if (!Guid.TryParse(IdString, out Id))
{ {
throw new ArgumentNullException("Id"); throw new ArgumentNullException("itemName");
} }
if (string.IsNullOrEmpty(matchString)) if (string.IsNullOrEmpty(matchString))
@ -165,7 +163,7 @@ namespace MediaBrowser.Server.Implementations.FileOrganization
var options = GetAutoOrganizeptions(); 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)) if (info != null && info.MatchStrings.Contains(matchString))
{ {