1
0
mirror of https://github.com/Radarr/Radarr.git synced 2026-04-23 22:25:14 -04:00

Fixed: Updating movie files via Manage Files

This commit is contained in:
Bogdan
2025-03-22 15:33:01 +02:00
parent 1d855aed00
commit 35f1a61bf8
9 changed files with 85 additions and 513 deletions
@@ -183,6 +183,55 @@ namespace Radarr.Api.V3.MovieFiles
return new { };
}
[HttpPut("bulk")]
[Consumes("application/json")]
public object SetPropertiesBulk([FromBody] List<MovieFileResource> resources)
{
var movieFiles = _mediaFileService.GetMovies(resources.Select(r => r.Id));
foreach (var movieFile in movieFiles)
{
var resourceMovieFile = resources.Single(r => r.Id == movieFile.Id);
if (resourceMovieFile.Languages != null)
{
// Don't allow user to set files with 'Any' or 'Original' language
movieFile.Languages = resourceMovieFile.Languages.Where(l => l != null && l != Language.Any && l != Language.Original).ToList();
}
if (resourceMovieFile.Quality != null)
{
movieFile.Quality = resourceMovieFile.Quality;
}
if (resourceMovieFile.SceneName != null && SceneChecker.IsSceneTitle(resourceMovieFile.SceneName))
{
movieFile.SceneName = resourceMovieFile.SceneName;
}
if (resourceMovieFile.Edition != null)
{
movieFile.Edition = resourceMovieFile.Edition;
}
if (resourceMovieFile.ReleaseGroup != null)
{
movieFile.ReleaseGroup = resourceMovieFile.ReleaseGroup;
}
if (resourceMovieFile.IndexerFlags.HasValue)
{
movieFile.IndexerFlags = (IndexerFlags)resourceMovieFile.IndexerFlags;
}
}
_mediaFileService.Update(movieFiles);
var movie = _movieService.GetMovie(movieFiles.First().MovieId);
return Accepted(movieFiles.ConvertAll(f => f.ToResource(movie, _upgradableSpecification, _formatCalculator)));
}
[NonAction]
public void Handle(MovieFileAddedEvent message)
{