1
0
Fork 0
mirror of https://github.com/lidarr/Lidarr synced 2025-02-23 14:30:49 +00:00

New: Setting SceneName and ReleaseGroup for TrackFiles via API

Closes #2248

Co-Authored-By: Michael Higgins <mdhiggins23@gmail.com>
This commit is contained in:
Qstick 2023-01-26 20:24:04 -06:00
parent 9cce93b25d
commit 032089b1f9
3 changed files with 30 additions and 0 deletions

View file

@ -11,6 +11,7 @@
using NzbDrone.Core.MediaFiles.Events; using NzbDrone.Core.MediaFiles.Events;
using NzbDrone.Core.Messaging.Events; using NzbDrone.Core.Messaging.Events;
using NzbDrone.Core.Music; using NzbDrone.Core.Music;
using NzbDrone.Core.Parser;
using NzbDrone.SignalR; using NzbDrone.SignalR;
using BadRequestException = Lidarr.Http.REST.BadRequestException; using BadRequestException = Lidarr.Http.REST.BadRequestException;
using HttpStatusCode = System.Net.HttpStatusCode; using HttpStatusCode = System.Net.HttpStatusCode;
@ -111,6 +112,17 @@ public ActionResult<TrackFileResource> SetQuality([FromBody] TrackFileResource t
{ {
var trackFile = _mediaFileService.Get(trackFileResource.Id); var trackFile = _mediaFileService.Get(trackFileResource.Id);
trackFile.Quality = trackFileResource.Quality; trackFile.Quality = trackFileResource.Quality;
if (trackFileResource.SceneName != null && SceneChecker.IsSceneTitle(trackFileResource.SceneName))
{
trackFile.SceneName = trackFileResource.SceneName;
}
if (trackFileResource.ReleaseGroup != null)
{
trackFile.ReleaseGroup = trackFileResource.ReleaseGroup;
}
_mediaFileService.Update(trackFile); _mediaFileService.Update(trackFile);
return Accepted(trackFile.Id); return Accepted(trackFile.Id);
} }
@ -126,6 +138,16 @@ public IActionResult SetQuality([FromBody] TrackFileListResource resource)
{ {
trackFile.Quality = resource.Quality; trackFile.Quality = resource.Quality;
} }
if (resource.SceneName != null && SceneChecker.IsSceneTitle(resource.SceneName))
{
trackFile.SceneName = resource.SceneName;
}
if (resource.ReleaseGroup != null)
{
trackFile.ReleaseGroup = resource.ReleaseGroup;
}
} }
_mediaFileService.Update(trackFiles); _mediaFileService.Update(trackFiles);

View file

@ -7,5 +7,7 @@ public class TrackFileListResource
{ {
public List<int> TrackFileIds { get; set; } public List<int> TrackFileIds { get; set; }
public QualityModel Quality { get; set; } public QualityModel Quality { get; set; }
public string SceneName { get; set; }
public string ReleaseGroup { get; set; }
} }
} }

View file

@ -15,6 +15,8 @@ public class TrackFileResource : RestResource
public string Path { get; set; } public string Path { get; set; }
public long Size { get; set; } public long Size { get; set; }
public DateTime DateAdded { get; set; } public DateTime DateAdded { get; set; }
public string SceneName { get; set; }
public string ReleaseGroup { get; set; }
public QualityModel Quality { get; set; } public QualityModel Quality { get; set; }
public int QualityWeight { get; set; } public int QualityWeight { get; set; }
public MediaInfoResource MediaInfo { get; set; } public MediaInfoResource MediaInfo { get; set; }
@ -52,6 +54,8 @@ public static TrackFileResource ToResource(this TrackFile model)
Path = model.Path, Path = model.Path,
Size = model.Size, Size = model.Size,
DateAdded = model.DateAdded, DateAdded = model.DateAdded,
SceneName = model.SceneName,
ReleaseGroup = model.ReleaseGroup,
Quality = model.Quality, Quality = model.Quality,
QualityWeight = QualityWeight(model.Quality), QualityWeight = QualityWeight(model.Quality),
MediaInfo = model.MediaInfo.ToResource() MediaInfo = model.MediaInfo.ToResource()
@ -74,6 +78,8 @@ public static TrackFileResource ToResource(this TrackFile model, NzbDrone.Core.M
Path = model.Path, Path = model.Path,
Size = model.Size, Size = model.Size,
DateAdded = model.DateAdded, DateAdded = model.DateAdded,
SceneName = model.SceneName,
ReleaseGroup = model.ReleaseGroup,
Quality = model.Quality, Quality = model.Quality,
QualityWeight = QualityWeight(model.Quality), QualityWeight = QualityWeight(model.Quality),
MediaInfo = model.MediaInfo.ToResource(), MediaInfo = model.MediaInfo.ToResource(),