From 59c9081f4b25b96f7cc9203a319ad19328651772 Mon Sep 17 00:00:00 2001 From: softworkz Date: Mon, 8 Feb 2016 02:25:10 +0100 Subject: [PATCH] Auto-Organize - Feature to remember/persist series matching in manual organization dialog: Changed to match against plain library name inste --- .../FileOrganization/IFileOrganizationService.cs | 4 ++-- MediaBrowser.Model/FileOrganization/SmartMatchInfo.cs | 4 ++-- .../FileOrganization/EpisodeFileOrganizer.cs | 9 ++++----- .../FileOrganization/FileOrganizationService.cs | 10 ++++------ 4 files changed, 12 insertions(+), 15 deletions(-) diff --git a/MediaBrowser.Controller/FileOrganization/IFileOrganizationService.cs b/MediaBrowser.Controller/FileOrganization/IFileOrganizationService.cs index 8d7f4e117..daa670d83 100644 --- a/MediaBrowser.Controller/FileOrganization/IFileOrganizationService.cs +++ b/MediaBrowser.Controller/FileOrganization/IFileOrganizationService.cs @@ -78,8 +78,8 @@ namespace MediaBrowser.Controller.FileOrganization /// /// Deletes a smart match entry. /// - /// Item Id. + /// Item name. /// The match string to delete. - void DeleteSmartMatchEntry(string Id, string matchString); + void DeleteSmartMatchEntry(string ItemName, string matchString); } } diff --git a/MediaBrowser.Model/FileOrganization/SmartMatchInfo.cs b/MediaBrowser.Model/FileOrganization/SmartMatchInfo.cs index a6bc66e49..28c99b89b 100644 --- a/MediaBrowser.Model/FileOrganization/SmartMatchInfo.cs +++ b/MediaBrowser.Model/FileOrganization/SmartMatchInfo.cs @@ -3,8 +3,8 @@ namespace MediaBrowser.Model.FileOrganization { public class SmartMatchInfo { - public string Id { get; set; } - public string Name { get; set; } + public string ItemName { get; set; } + public string DisplayName { get; set; } public FileOrganizerType OrganizerType { get; set; } public string[] MatchStrings { get; set; } diff --git a/MediaBrowser.Server.Implementations/FileOrganization/EpisodeFileOrganizer.cs b/MediaBrowser.Server.Implementations/FileOrganization/EpisodeFileOrganizer.cs index 6509b016a..bbbdcd4b3 100644 --- a/MediaBrowser.Server.Implementations/FileOrganization/EpisodeFileOrganizer.cs +++ b/MediaBrowser.Server.Implementations/FileOrganization/EpisodeFileOrganizer.cs @@ -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() - .FirstOrDefault(i => string.Equals(i.Id.ToString("N"), info.Id)); + .FirstOrDefault(i => string.Equals(i.Name, info.ItemName)); } } diff --git a/MediaBrowser.Server.Implementations/FileOrganization/FileOrganizationService.cs b/MediaBrowser.Server.Implementations/FileOrganization/FileOrganizationService.cs index ce388bd8e..cf1387b0e 100644 --- a/MediaBrowser.Server.Implementations/FileOrganization/FileOrganizationService.cs +++ b/MediaBrowser.Server.Implementations/FileOrganization/FileOrganizationService.cs @@ -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)) {