Radarr/src/NzbDrone.Api/Movies/FetchMovieListModule.cs

59 lines
1.7 KiB
C#
Raw Normal View History

2018-02-19 07:18:14 +00:00
using System.Collections.Generic;
2019-12-22 22:08:53 +00:00
using System.Linq;
2017-01-23 19:51:33 +00:00
using Nancy;
using NzbDrone.Core.MediaCover;
using NzbDrone.Core.MetadataSource;
using NzbDrone.Core.NetImport;
2018-11-23 07:03:32 +00:00
using Radarr.Http;
2017-01-23 19:51:33 +00:00
2018-02-19 07:18:14 +00:00
namespace NzbDrone.Api.Movies
2017-01-23 19:51:33 +00:00
{
2018-11-23 07:03:32 +00:00
public class FetchMovieListModule : RadarrRestModule<MovieResource>
2017-01-23 19:51:33 +00:00
{
private readonly IFetchNetImport _fetchNetImport;
private readonly ISearchForNewMovie _movieSearch;
2017-01-23 19:51:33 +00:00
public FetchMovieListModule(IFetchNetImport netImport, ISearchForNewMovie movieSearch)
2017-01-23 19:51:33 +00:00
: base("/netimport/movies")
{
_fetchNetImport = netImport;
_movieSearch = movieSearch;
2019-12-22 22:08:53 +00:00
Get("/", x => Search());
2017-01-23 19:51:33 +00:00
}
2019-08-28 21:43:55 +00:00
private object Search()
2017-01-23 19:51:33 +00:00
{
2019-12-22 22:08:53 +00:00
var results = _fetchNetImport.FetchAndFilter((int)Request.Query.listId, false);
List<Core.Movies.Movie> realResults = new List<Core.Movies.Movie>();
/*foreach (var movie in results)
{
var mapped = _movieSearch.MapMovieToTmdbMovie(movie);
if (mapped != null)
{
realResults.Add(mapped);
}
}*/
2019-08-28 21:43:55 +00:00
return MapToResource(results);
2017-01-23 19:51:33 +00:00
}
private static IEnumerable<MovieResource> MapToResource(IEnumerable<Core.Movies.Movie> movies)
2017-01-23 19:51:33 +00:00
{
foreach (var currentSeries in movies)
{
var resource = currentSeries.ToResource();
var poster = currentSeries.Images.FirstOrDefault(c => c.CoverType == MediaCoverTypes.Poster);
if (poster != null)
{
resource.RemotePoster = poster.Url;
}
yield return resource;
}
}
}
2018-02-19 07:18:14 +00:00
}