Пример #1
0
        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);
        }
Пример #2
0
        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);
        }
Пример #3
0
        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);
        }
Пример #4
0
        //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);
        }