mirror of
https://github.com/Ombi-app/Ombi.git
synced 2025-07-10 15:32:37 -07:00
A bit more work on #32 started working on requesting it. The DB is a bit of an issue...
This commit is contained in:
parent
c43f70a0e0
commit
45fb3ad376
10 changed files with 209 additions and 43 deletions
|
@ -55,7 +55,7 @@ namespace PlexRequests.UI.Modules
|
|||
ISettingsService<PlexRequestSettings> prSettings, IAvailabilityChecker checker,
|
||||
IRequestService request, ISonarrApi sonarrApi, ISettingsService<SonarrSettings> sonarrSettings,
|
||||
ISettingsService<SickRageSettings> sickRageService, ICouchPotatoApi cpApi, ISickRageApi srApi,
|
||||
INotificationService notify) : base("search")
|
||||
INotificationService notify, IMusicBrainzApi mbApi, IHeadphonesApi hpApi, ISettingsService<HeadphonesSettings> hpService) : base("search")
|
||||
{
|
||||
CpService = cpSettings;
|
||||
PrService = prSettings;
|
||||
|
@ -70,6 +70,10 @@ namespace PlexRequests.UI.Modules
|
|||
SickRageService = sickRageService;
|
||||
SickrageApi = srApi;
|
||||
NotificationService = notify;
|
||||
MusicBrainzApi = mbApi;
|
||||
HeadphonesApi = hpApi;
|
||||
HeadphonesService = hpService;
|
||||
|
||||
|
||||
Get["/"] = parameters => RequestLoad();
|
||||
|
||||
|
@ -96,9 +100,11 @@ namespace PlexRequests.UI.Modules
|
|||
private ISettingsService<PlexRequestSettings> PrService { get; }
|
||||
private ISettingsService<SonarrSettings> SonarrService { get; }
|
||||
private ISettingsService<SickRageSettings> SickRageService { get; }
|
||||
private ISettingsService<HeadphonesSettings> HeadphonesService { get; }
|
||||
private IAvailabilityChecker Checker { get; }
|
||||
private IMusicBrainzApi MusicBrainzApi { get; }
|
||||
private IHeadphonesApi HeadphonesApi { get; }
|
||||
private static Logger Log = LogManager.GetCurrentClassLogger();
|
||||
private string AuthToken => Cache.GetOrSet(CacheKeys.TvDbToken, TvApi.Authenticate, 50);
|
||||
|
||||
private Negotiator RequestLoad()
|
||||
{
|
||||
|
@ -157,20 +163,12 @@ namespace PlexRequests.UI.Modules
|
|||
|
||||
private Response SearchMusic(string searchTerm)
|
||||
{
|
||||
var api = new MusicBrainsApi();
|
||||
var albums = api.SearchAlbum(searchTerm);
|
||||
var albums = MusicBrainzApi.SearchAlbum(searchTerm);
|
||||
var releases = albums.releases ?? new List<Release>();
|
||||
var model = new List<SearchMusicViewModel>();
|
||||
foreach (var a in releases)
|
||||
{
|
||||
var coverArt = api.GetCoverArt(a.id);
|
||||
var firstImage = coverArt?.images?.FirstOrDefault();
|
||||
var img = string.Empty;
|
||||
|
||||
if (firstImage != null)
|
||||
{
|
||||
img = firstImage.thumbnails?.small ?? firstImage.image;
|
||||
}
|
||||
var img = GetMusicBrainzCoverArt(a.id);
|
||||
model.Add(new SearchMusicViewModel
|
||||
{
|
||||
Title = a.title,
|
||||
|
@ -478,9 +476,36 @@ namespace PlexRequests.UI.Modules
|
|||
|
||||
private Response RequestAlbum(string releaseId)
|
||||
{
|
||||
var settings = HeadphonesService.GetSettings();
|
||||
|
||||
var albumInfo = MusicBrainzApi.GetAlbum(releaseId);
|
||||
var img = GetMusicBrainzCoverArt(albumInfo.id);
|
||||
var model = new RequestedModel
|
||||
{
|
||||
Title = albumInfo.title,
|
||||
MusicBrainzId = albumInfo.id,
|
||||
Overview = albumInfo.disambiguation,
|
||||
PosterPath = img,
|
||||
Type = RequestType.Album
|
||||
};
|
||||
|
||||
// TODO need to send to Headphones
|
||||
|
||||
return Response.AsJson("");
|
||||
}
|
||||
|
||||
private string GetMusicBrainzCoverArt(string id)
|
||||
{
|
||||
var coverArt = MusicBrainzApi.GetCoverArt(id);
|
||||
var firstImage = coverArt?.images?.FirstOrDefault();
|
||||
var img = string.Empty;
|
||||
|
||||
if (firstImage != null)
|
||||
{
|
||||
img = firstImage.thumbnails?.small ?? firstImage.image;
|
||||
}
|
||||
|
||||
return img;
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue