示例#1
0
        public void get_all_movies()
        {
            EnsureMovie(680, "Pulp Fiction");
            EnsureMovie(155, "The Dark Knight");

            Movies.All().Should().NotBeNullOrEmpty();
            Movies.All().Should().Contain(v => v.ImdbId == "tt0110912");
            Movies.All().Should().Contain(v => v.ImdbId == "tt0468569");
        }
示例#2
0
        public void delete_movie()
        {
            var movie = EnsureMovie(680, "Pulp Fiction");

            Movies.Get(movie.Id).Should().NotBeNull();

            Movies.Delete(movie.Id);

            Movies.All().Should().NotContain(v => v.ImdbId == "tt0110912");
        }
示例#3
0
        public void get_all_movies()
        {
            EnsureMovie(680, "Pulp Fiction");
            EnsureMovie(155, "The Dark Knight");

            var movies = Movies.All();

            movies.Should().NotBeNullOrEmpty();
            movies.Should().Contain(v => v.ImdbId == "tt0110912");
            movies.Should().Contain(v => v.ImdbId == "tt0468569");
            movies.Should().Contain(v => v.Images.All(i => i.RemoteUrl.Contains("https://image.tmdb.org")));
        }
示例#4
0
        public void get_movie_by_tmdbid()
        {
            EnsureMovie(680, "Pulp Fiction");
            EnsureMovie(155, "The Dark Knight");

            var queryParams = new Dictionary <string, object>()
            {
                { "tmdbId", 680 }
            };

            var movies = Movies.All(queryParams);

            movies.Should().NotBeNullOrEmpty();
            movies.Should().Contain(v => v.ImdbId == "tt0110912");
            movies.Should().Contain(v => v.Images.All(i => i.RemoteUrl.Contains("https://image.tmdb.org")));
        }
示例#5
0
        public void should_be_able_to_update_multiple_movies()
        {
            GivenExistingMovie();

            var movie = Movies.All();

            foreach (var s in movie)
            {
                s.ProfileId = 2;
            }

            var result = Movies.Editor(movie);

            result.Should().HaveCount(2);
            result.TrueForAll(s => s.ProfileId == 2).Should().BeTrue();
        }
示例#6
0
        public void should_be_able_to_update_multiple_movies()
        {
            GivenExistingMovie();

            var movies = Movies.All();

            var movieEditor = new MovieEditorResource
            {
                QualityProfileId = 2,
                MovieIds         = movies.Select(o => o.Id).ToList()
            };

            var result = Movies.Editor(movieEditor);

            result.Should().HaveCount(2);
            result.TrueForAll(s => s.QualityProfileId == 2).Should().BeTrue();
        }
示例#7
0
        public void should_log_on_error()
        {
            var config = HostConfig.Get(1);

            config.LogLevel = "Trace";
            HostConfig.Put(config);

            var resultGet = Movies.All();

            var logFile  = "radarr.trace.txt";
            var logLines = Logs.GetLogFileLines(logFile);

            var resultPost = Movies.InvalidPost(new Radarr.Api.V3.Movies.MovieResource());

            // Skip 2 and 1 to ignore the logs endpoint
            logLines = Logs.GetLogFileLines(logFile).Skip(logLines.Length + 2).ToArray();
            Array.Resize(ref logLines, logLines.Length - 1);

            logLines.Should().Contain(v => v.Contains("|Trace|Http|Req") && v.Contains("/api/v3/movie/"));
            logLines.Should().Contain(v => v.Contains("|Trace|Http|Res") && v.Contains("/api/v3/movie/: 400.BadRequest"));
            logLines.Should().Contain(v => v.Contains("|Debug|Api|") && v.Contains("/api/v3/movie/: 400.BadRequest"));
        }
示例#8
0
        public void RefreshFolder()
        {
            if (TB_FolderPath.Text == "")
            {
                return;
            }

            Cursor.Current = Cursors.WaitCursor;

            ClearFiles();

            try
            {
                BlackList = NameExtractor.PreBlackList;
                if (File.Exists("RenamerBlackList.txt"))
                {
                    var pb = new List <string>();
                    foreach (var item in File.ReadAllLines("RenamerBlackList.txt"))
                    {
                        if (!BlackList.Contains(item))
                        {
                            pb.Add(Regex.Escape(item));
                        }
                    }
                    BlackList = FormatBlackList(BlackList.Union(pb).ToArray());
                }
                else
                {
                    File.WriteAllText("RenamerBlackList.txt", "");
                }
            }
            catch (Exception) { BlackList = FormatBlackList(NameExtractor.PreBlackList); }

            try
            {
                var Files      = new List <string>();
                var VideoFiles = new List <string>();

                foreach (var item in Directory.EnumerateFiles(TB_FolderPath.Text, "*.*", SearchOption.AllDirectories))
                {
                    if (IsVideoFile(item) && (MovieMode || Episode.PathIsValid(item)))
                    {
                        VideoFiles.Add(item);
                        if (VideoFiles.Count > 650)
                        {
                            throw new StackOverflowException("File Count exceeded Limit");
                        }
                    }
                    else
                    {
                        Files.Add(item);
                    }
                }

                if (MovieMode) // Movie Mode
                {
                    foreach (var Video in VideoFiles)
                    {
                        Movies.Add(new Movie(Video));
                    }

                    L_SeasonCount.Text = Movies.Count.ToString();

                    foreach (var Movie in Movies.OrderByDescending(x => x.Name))
                    {
                        Movie.Control = new MovieControl(Movie)
                        {
                            Dock = DockStyle.Top
                        };
                        Form1.reviewSubForm.P_Main.Controls.Add(Movie.Control);
                        Movie.Control.Show();
                    }
                }
                else // Series Mode
                {
                    var Episodes = new List <Episode>();
                    foreach (var item in VideoFiles)
                    {
                        Episodes.Add(new Episode(item));
                    }
                    foreach (var SNumber in Season.GetSeasons(Episodes))
                    {
                        Seasons.Add(new Season(SNumber, Episodes.Where(x => x.SeasonNumber == SNumber).ToList()));
                    }

                    L_SeasonCount.Text = Seasons.Count.ToString();
                    L_EpCount.Text     = Episodes.Count.ToString();

                    foreach (var Season in Seasons.OrderByDescending(x => x.SeasonNumber))
                    {
                        Season.Control = new SeasonControl(Season)
                        {
                            Dock = DockStyle.Top
                        };
                        Form1.reviewSubForm.P_Main.Controls.Add(Season.Control);
                        Season.Control.Show();
                    }
                }

                if (O_IncludeSubs)
                {
                    AddSubtitles();
                }

                JunkFiles = Files.Where(f => Movies.All(m => m.FilePath != f && m.Subs.All(s => s.FilePath != f)) &&
                                        Seasons.All(S => S.Episodes.All(e => e.FilePath != f && e.Subs.All(sub => sub.FilePath != f))) &&
                                        !(new FileInfo(f).Attributes.HasFlag(FileAttributes.Hidden))).ToList();

                if (!O_IncludeSubs)
                {
                    JunkFiles.RemoveAll(x => x.EndsWith(".srt"));
                }

                L_SeasonCount.ForeColor = L_EpCount.ForeColor = L_SubCount.ForeColor = FormState.N_Focused.Color;
                CurrentFormState        = GetFormState();
            }
            catch (Exception ex)
            {
                ClearFiles();
                Form1.ShowError(ex.Message);
                L_SeasonCount.Text      = L_EpCount.Text = L_SubCount.Text = "0";
                L_SeasonCount.ForeColor = L_EpCount.ForeColor = L_SubCount.ForeColor = Color.FromArgb(242, 60, 53);
                Clipboard.SetText(ex.ToString());
                CurrentFormState = FormState.Busy;
            }
            Cursor.Current = Cursors.Default;
        }