private ManualImportItem MapItem(ImportDecision decision, string folder, string downloadId) { var item = new ManualImportItem(); item.Path = decision.LocalEpisode.Path; item.RelativePath = folder.GetRelativePath(decision.LocalEpisode.Path); item.Name = Path.GetFileNameWithoutExtension(decision.LocalEpisode.Path); item.DownloadId = downloadId; if (decision.LocalEpisode.Series != null) { item.Series = decision.LocalEpisode.Series; } if (decision.LocalEpisode.Episodes.Any()) { item.SeasonNumber = decision.LocalEpisode.SeasonNumber; item.Episodes = decision.LocalEpisode.Episodes; } item.Quality = decision.LocalEpisode.Quality; item.Size = _diskProvider.GetFileSize(decision.LocalEpisode.Path); item.Rejections = decision.Rejections; return(item); }
private ManualImportItem MapItem(ImportDecision decision, string rootFolder, string downloadId, string folderName) { var item = new ManualImportItem(); item.Path = decision.LocalEpisode.Path; item.FolderName = folderName; item.RelativePath = rootFolder.GetRelativePath(decision.LocalEpisode.Path); item.Name = Path.GetFileNameWithoutExtension(decision.LocalEpisode.Path); item.DownloadId = downloadId; if (decision.LocalEpisode.Series != null) { item.Series = decision.LocalEpisode.Series; } if (decision.LocalEpisode.Episodes.Any() && decision.LocalEpisode.Episodes.Select(c => c.SeasonNumber).Distinct().Count() == 1) { var seasons = decision.LocalEpisode.Episodes.Select(c => c.SeasonNumber).Distinct().ToList(); if (seasons.Empty()) { _logger.Warn("Expected one season, but found none for: {0}", decision.LocalEpisode.Path); } else if (seasons.Count > 1) { _logger.Warn("Expected one season, but found {0} ({1}) for: {2}", seasons.Count, string.Join(", ", seasons), decision.LocalEpisode.Path); } else { item.SeasonNumber = decision.LocalEpisode.SeasonNumber; item.Episodes = decision.LocalEpisode.Episodes; } } item.ReleaseGroup = decision.LocalEpisode.ReleaseGroup; item.Quality = decision.LocalEpisode.Quality; item.Language = decision.LocalEpisode.Language; item.Size = _diskProvider.GetFileSize(decision.LocalEpisode.Path); item.Rejections = decision.Rejections; return(item); }
private ManualImportItem MapItem(EpisodeFile episodeFile, Series series, string folderName) { var item = new ManualImportItem(); item.Path = Path.Combine(series.Path, episodeFile.RelativePath); item.FolderName = folderName; item.RelativePath = episodeFile.RelativePath; item.Name = Path.GetFileNameWithoutExtension(episodeFile.Path); item.Series = series; item.SeasonNumber = episodeFile.SeasonNumber; item.Episodes = episodeFile.Episodes.Value; item.ReleaseGroup = episodeFile.ReleaseGroup; item.Quality = episodeFile.Quality; item.Language = episodeFile.Language; item.Size = _diskProvider.GetFileSize(item.Path); item.Rejections = Enumerable.Empty <Rejection>(); item.EpisodeFileId = episodeFile.Id; return(item); }
//private ManualImportItem MapItem(ImportDecision decision, string folder, string downloadId) //{ // var item = new ManualImportItem(); // item.Path = decision.LocalEpisode.Path; // item.RelativePath = folder.GetRelativePath(decision.LocalEpisode.Path); // item.Name = Path.GetFileNameWithoutExtension(decision.LocalEpisode.Path); // item.DownloadId = downloadId; // if (decision.LocalEpisode.Series != null) // { // item.Series = decision.LocalEpisode.Series; // } // if (decision.LocalEpisode.Episodes.Any()) // { // item.SeasonNumber = decision.LocalEpisode.SeasonNumber; // item.Episodes = decision.LocalEpisode.Episodes; // } // item.Quality = decision.LocalEpisode.Quality; // item.Size = _diskProvider.GetFileSize(decision.LocalEpisode.Path); // item.Rejections = decision.Rejections; // return item; //} private ManualImportItem MapItem(ImportDecision decision, string folder, string downloadId) { var item = new ManualImportItem(); item.Path = decision.LocalMovie.Path; item.RelativePath = folder.GetRelativePath(decision.LocalMovie.Path); item.Name = Path.GetFileNameWithoutExtension(decision.LocalMovie.Path); item.DownloadId = downloadId; if (decision.LocalMovie.Movie != null) { item.Movie = decision.LocalMovie.Movie; } item.Quality = decision.LocalMovie.Quality; item.Size = _diskProvider.GetFileSize(decision.LocalMovie.Path); item.Rejections = decision.Rejections; return(item); }