From 5bc708999061efc66761a41f6fc9212be91110b5 Mon Sep 17 00:00:00 2001 From: softworkz Date: Sat, 27 Feb 2016 00:52:00 +0100 Subject: Create new series backend implementation --- .../FileOrganization/EpisodeFileOrganizer.cs | 38 +++++++++++++++++++++- 1 file changed, 37 insertions(+), 1 deletion(-) (limited to 'MediaBrowser.Server.Implementations/FileOrganization/EpisodeFileOrganizer.cs') diff --git a/MediaBrowser.Server.Implementations/FileOrganization/EpisodeFileOrganizer.cs b/MediaBrowser.Server.Implementations/FileOrganization/EpisodeFileOrganizer.cs index 42f88a5c0..43eea4773 100644 --- a/MediaBrowser.Server.Implementations/FileOrganization/EpisodeFileOrganizer.cs +++ b/MediaBrowser.Server.Implementations/FileOrganization/EpisodeFileOrganizer.cs @@ -157,7 +157,43 @@ namespace MediaBrowser.Server.Implementations.FileOrganization { var result = _organizationService.GetResult(request.ResultId); - var series = (Series)_libraryManager.GetItemById(new Guid(request.SeriesId)); + Series series = null; + + if (request.NewSeriesProviderIdsDictionary.Count > 0) + { + // We're having a new series here + SeriesInfo seriesRequest = new SeriesInfo(); + seriesRequest.ProviderIds = request.NewSeriesProviderIdsDictionary; + + var refreshOptions = new MetadataRefreshOptions(_fileSystem); + series = new Series(); + series.Id = Guid.NewGuid(); + series.Name = request.NewSeriesName; + + int year; + if (int.TryParse(request.NewSeriesYear, out year)) + { + series.ProductionYear = year; + } + + var seriesFolderName = series.Name; + if (series.ProductionYear.HasValue) + { + seriesFolderName = string.Format("{0} ({1})", seriesFolderName, series.ProductionYear); + } + + series.Path = Path.Combine(request.TargetFolder, seriesFolderName); + + series.ProviderIds = request.NewSeriesProviderIdsDictionary; + + await series.RefreshMetadata(refreshOptions, cancellationToken); + } + + if (series == null) + { + // Existing Series + series = (Series)_libraryManager.GetItemById(new Guid(request.SeriesId)); + } await OrganizeEpisode(result.OriginalPath, series, -- cgit v1.2.3 From 719f675fe5729aecbf651e19d87e5c16f5b8b49f Mon Sep 17 00:00:00 2001 From: softworkz Date: Sat, 27 Feb 2016 23:09:14 +0100 Subject: Rename NewSeriesProviderIdsDictionary to NewSeriesProviderIds --- MediaBrowser.Api/Library/FileOrganizationService.cs | 2 +- .../FileOrganization/EpisodeFileOrganizationRequest.cs | 2 +- .../FileOrganization/EpisodeFileOrganizer.cs | 6 +++--- 3 files changed, 5 insertions(+), 5 deletions(-) (limited to 'MediaBrowser.Server.Implementations/FileOrganization/EpisodeFileOrganizer.cs') diff --git a/MediaBrowser.Api/Library/FileOrganizationService.cs b/MediaBrowser.Api/Library/FileOrganizationService.cs index f636b723e..dba705ba3 100644 --- a/MediaBrowser.Api/Library/FileOrganizationService.cs +++ b/MediaBrowser.Api/Library/FileOrganizationService.cs @@ -185,7 +185,7 @@ namespace MediaBrowser.Api.Library SeriesId = request.SeriesId, NewSeriesName = request.NewSeriesName, NewSeriesYear = request.NewSeriesYear, - NewSeriesProviderIdsDictionary = dicNewProviderIds, + NewSeriesProviderIds = dicNewProviderIds, TargetFolder = request.TargetFolder }); diff --git a/MediaBrowser.Model/FileOrganization/EpisodeFileOrganizationRequest.cs b/MediaBrowser.Model/FileOrganization/EpisodeFileOrganizationRequest.cs index 307088b63..b20e43e54 100644 --- a/MediaBrowser.Model/FileOrganization/EpisodeFileOrganizationRequest.cs +++ b/MediaBrowser.Model/FileOrganization/EpisodeFileOrganizationRequest.cs @@ -21,6 +21,6 @@ namespace MediaBrowser.Model.FileOrganization public string TargetFolder { get; set; } - public Dictionary NewSeriesProviderIdsDictionary { get; set; } + public Dictionary NewSeriesProviderIds { get; set; } } } \ No newline at end of file diff --git a/MediaBrowser.Server.Implementations/FileOrganization/EpisodeFileOrganizer.cs b/MediaBrowser.Server.Implementations/FileOrganization/EpisodeFileOrganizer.cs index 43eea4773..24e8c7137 100644 --- a/MediaBrowser.Server.Implementations/FileOrganization/EpisodeFileOrganizer.cs +++ b/MediaBrowser.Server.Implementations/FileOrganization/EpisodeFileOrganizer.cs @@ -159,11 +159,11 @@ namespace MediaBrowser.Server.Implementations.FileOrganization Series series = null; - if (request.NewSeriesProviderIdsDictionary.Count > 0) + if (request.NewSeriesProviderIds.Count > 0) { // We're having a new series here SeriesInfo seriesRequest = new SeriesInfo(); - seriesRequest.ProviderIds = request.NewSeriesProviderIdsDictionary; + seriesRequest.ProviderIds = request.NewSeriesProviderIds; var refreshOptions = new MetadataRefreshOptions(_fileSystem); series = new Series(); @@ -184,7 +184,7 @@ namespace MediaBrowser.Server.Implementations.FileOrganization series.Path = Path.Combine(request.TargetFolder, seriesFolderName); - series.ProviderIds = request.NewSeriesProviderIdsDictionary; + series.ProviderIds = request.NewSeriesProviderIds; await series.RefreshMetadata(refreshOptions, cancellationToken); } -- cgit v1.2.3