Пример #1
0
        /// <summary>
        /// Returns episodes that has not achieved it's cutoff quality
        /// </summary>
        /// <param name="sortKey">Series title or airDateUtc</param>
        /// <param name="page">Page</param>
        /// <param name="pageSize">Page size</param>
        /// <param name="sortDirection">Sort direction, asc or desc</param>
        /// <returns></returns>
        public async Task <Models.WantedCutoff> GetCutoffUnmet([Optional] string sortKey, [Optional] int page, [Optional] int pageSize, [Optional] string sortDirection)
        {
            var param = new Dictionary <string, object>();

            if (sortKey != null)
            {
                param.Add("sortKey", sortKey);
            }

            if (page != 0)
            {
                param.Add("page", page);
            }

            if (pageSize != 0)
            {
                param.Add("pageSize", pageSize);
            }

            if (sortDirection != null)
            {
                param.Add("sortDir", sortDirection);
            }

            var json = await _sonarrClient.GetJson($"/wanted/cutoff{ParameterHelper.BuildParameterString(param)}");

            return(await Task.Run(() => JsonSerializer.Deserialize <Models.WantedCutoff>(json, Converter.Settings)));
        }
Пример #2
0
        /// <summary>
        /// Deletes an item from the queue and download client.
        /// </summary>
        /// <param name="id">The identifier.</param>
        /// <param name="blacklist">if set to <c>true</c> blacklist item after deletion.</param>
        /// <returns></returns>
        public async Task DeleteFromQueue(int id, [Optional] bool blacklist)
        {
            var param = new Dictionary <string, object>
            {
                { "blacklist", blacklist }
            };

            await _radarrClient.Delete($"/queue/id={id}{ParameterHelper.BuildParameterString(param)}");
        }
Пример #3
0
        /// <summary>
        /// Delete the movie with the given ID
        /// </summary>
        /// <param name="id">Movie ID</param>
        /// <param name="deleteFiles">If true the movie folder and all files will be deleted when the movie is deleted - Default false</param>
        /// <returns></returns>
        public async Task DeleteMovie(int id, [Optional] bool deleteFiles)
        {
            var param = new Dictionary <string, object>
            {
                { "deleteFiles", deleteFiles }
            };

            await _radarrClient.Delete($"/movie/{id}{ParameterHelper.BuildParameterString(param)}");
        }
Пример #4
0
        /// <summary>
        /// Search for movie by title
        /// </summary>
        /// <param name="title">Search title</param>
        /// <returns></returns>
        public async Task <IList <Models.Movie> > SearchForMovie(string title)
        {
            var param = new Dictionary <string, object>
            {
                { "term", title.Replace(" ", "%20") }
            };

            var json = await _radarrClient.ProcessJson("GET", $"/movie/lookup{ParameterHelper.BuildParameterString(param)}");

            return(await Task.Run(() => JsonConvert.DeserializeObject <IList <Models.Movie> >(json, Converter.Settings)));
        }
Пример #5
0
        /// <summary>
        /// Gets the extra files.
        /// </summary>
        /// <param name="movieId">The movie identifier.</param>
        /// <returns></returns>
        public async Task <IList <Models.ExtraFile> > GetExtraFiles(int movieId)
        {
            var param = new Dictionary <string, object>
            {
                { "movieId", movieId }
            };

            var json = await _radarrClient.ProcessJson("GET", $"/extraFile{ParameterHelper.BuildParameterString(param)}");

            return(await Task.Run(() => JsonSerializer.Deserialize <IList <Models.ExtraFile> >(json, ObjectConverter.Settings)));
        }
Пример #6
0
        /// <summary>
        /// Gets upcoming movies, between the given time
        /// </summary>
        /// <param name="start">From date</param>
        /// <param name="end">To date</param>
        /// <returns></returns>
        public async Task <IList <Models.Calendar> > GetCalendar(DateTime start, DateTime end)
        {
            var param = new Dictionary <string, object>
            {
                { "start", start.ToString("yyyy-MM-dd") },
                { "end", end.ToString("yyyy-MM-dd") }
            };

            var json = await _radarrClient.ProcessJson("GET", $"/calendar{ParameterHelper.BuildParameterString(param)}");

            return(await Task.Run(() => JsonSerializer.Deserialize <IList <Models.Calendar> >(json, ObjectConverter.Settings)));
        }
Пример #7
0
        /// <summary>
        /// Returns all blacklisted items
        /// </summary>
        /// <param name="page">Page - Default 1</param>
        /// <param name="pageSize">Page size - Default 10</param>
        /// <returns></returns>
        public async Task <Models.Blacklist> GetBlacklist(int page = 1, int pageSize = 10)
        {
            var param = new Dictionary <string, object>
            {
                { "page", page },
                { "pageSize", pageSize }
            };

            var json = await _radarrClient.ProcessJson("GET", $"/blacklist{ParameterHelper.BuildParameterString(param)}");

            return(await Task.Run(() => JsonSerializer.Deserialize <Models.Blacklist>(json, ObjectConverter.Settings)));
        }
Пример #8
0
        /// <summary>
        /// Returns movies that has not been downloaded
        /// </summary>
        /// <param name="page">Page - Default 1</param>
        /// <param name="pageSize">Page size - Default 20</param>
        /// <returns></returns>
        public async Task <Models.Wanted> GetMissing(int page = 1, int pageSize = 20)
        {
            var param = new Dictionary <string, object>
            {
                { "page", page },
                { "pageSize", pageSize }
            };

            var json = await _radarrClient.ProcessJson("GET", $"/wanted/missing{ParameterHelper.BuildParameterString(param)}");

            return(await Task.Run(() => JsonConvert.DeserializeObject <Models.Wanted>(json, Converter.Settings)));
        }
Пример #9
0
        /// <summary>
        /// Gets history (grabs/failures/completed)
        /// </summary>
        /// <param name="page">Page - Default 1</param>
        /// <param name="pageSize">Page size - Default 10</param>
        /// <param name="sortKey">Movie title or Date - Default date</param>
        /// <param name="sortDir">Sort direction, asc or desc - Default desc</param>
        /// <returns></returns>
        public async Task <Models.History> GetHistory(int page = 1, int pageSize = 10, string sortKey = "date", string sortDir = "default")
        {
            var param = new Dictionary <string, object>
            {
                { "page", page },
                { "pageSize", pageSize },
                { "sortKey", sortKey },
                { "sortDir", sortDir }
            };

            var json = await _radarrClient.ProcessJson("GET", $"/history{ParameterHelper.BuildParameterString(param)}");

            return(await Task.Run(() => JsonSerializer.Deserialize <Models.History>(json, ObjectConverter.Settings)));
        }
Пример #10
0
        /// <summary>
        /// Returns all Movies, with pagination, in your collection
        /// </summary>
        /// <param name="page">Page - Default 1</param>
        /// <param name="pageSize">Page size - Default 10</param>
        /// <param name="sortKey">Sort key, id, title or date - Default id</param>
        /// <param name="sortDir">Sort direction, asc or desc - Default asc</param>
        /// <returns></returns>
        public async Task <Models.MoviePage> GetMoviesPaged(int page = 1, int pageSize = 10, string sortKey = "id", string sortDir = "default")
        {
            var param = new Dictionary <string, object>
            {
                { "page", page },
                { "pageSize", pageSize },
                { "sortKey", sortKey },
                { "sortDir", sortDir }
            };

            var json = await _radarrClient.ProcessJson("GET", $"/movie{ParameterHelper.BuildParameterString(param)}");

            return(await Task.Run(() => JsonConvert.DeserializeObject <Models.MoviePage>(json, Converter.Settings)));
        }