Finished reworking the Sonarr Integration. Seems to be working as expected, faster and most stable. It's Not A Toomah!

This commit is contained in:
tidusjar 2017-04-03 21:11:59 +01:00
parent 858171e92a
commit 4836ab7e6c
3 changed files with 14 additions and 15 deletions

View file

@ -124,17 +124,14 @@ namespace Ombi.Core.Tv
// Also make sure the series is now monitored otherwise we won't search for it
series.monitored = true;
foreach (var seasons in series.seasons)
{
if (model.SeasonList.Any(x => x == seasons.seasonNumber))
{
seasons.monitored = true;
}
}
// Send the update command
series = SonarrApi.UpdateSeries(series, sonarrSettings.ApiKey, sonarrSettings.FullUri);
SonarrApi.SearchForSeries(series.id, sonarrSettings.ApiKey, sonarrSettings.FullUri);
return new SonarrAddSeries{title = series.title};
return new SonarrAddSeries { title = series.title };
}
@ -186,7 +183,7 @@ namespace Ombi.Core.Tv
await RequestEpisodesForSonarr(model, series.id, sonarrSettings);
}
return new SonarrAddSeries(){title = model.Title};
return new SonarrAddSeries() { title = model.Title };
}
public SonarrAddSeries AddSeries(SonarrSettings sonarrSettings, RequestedModel model, string rootFolderPath, int qualityId)
@ -217,6 +214,7 @@ namespace Ombi.Core.Tv
var season = new Season
{
seasonNumber = i,
// The model.SeasonList.Lenth is 0 when this is a "request all"
monitored = model.SeasonList.Length == 0 || model.SeasonList.Any(x => x == i)
};
seriesToAdd.seasons.Add(season);

View file

@ -109,7 +109,7 @@ namespace Ombi.Services.Jobs
var metadata = PlexApi.GetEpisodeMetaData(settings.PlexAuthToken, settings.FullUri, video.RatingKey);
// Loop through the metadata and create the model to insert into the DB
foreach (var metadataVideo in metadata.Video)
foreach (var metadataVideo in metadata?.Video ?? new List<Video>())
{
if(string.IsNullOrEmpty(metadataVideo.GrandparentTitle))
{
@ -119,11 +119,11 @@ namespace Ombi.Services.Jobs
entities.TryAdd(
new PlexEpisodes
{
EpisodeNumber = epInfo.EpisodeNumber,
EpisodeNumber = epInfo?.EpisodeNumber ?? 0,
EpisodeTitle = metadataVideo.Title,
ProviderId = epInfo.ProviderId,
ProviderId = epInfo?.ProviderId ?? "",
RatingKey = metadataVideo.RatingKey,
SeasonNumber = epInfo.SeasonNumber,
SeasonNumber = epInfo?.SeasonNumber ?? 0,
ShowTitle = metadataVideo.GrandparentTitle
},
1);

View file

@ -1120,7 +1120,8 @@ namespace Ombi.UI.Modules
RequestedUsers = new List<string> { Username },
Issues = IssueState.None,
ImdbId = showInfo.externals?.imdb ?? string.Empty,
TvDbId = showId.ToString()
TvDbId = showId.ToString(),
ProviderId = showId
};
var totalSeasons = showInfo.Season.GroupBy(x => x.SeasonNumber);
@ -1886,8 +1887,8 @@ namespace Ombi.UI.Modules
{
model.Approved = true;
var s = await sonarrSettings;
//var sender = new TvSenderV2(SonarrApi, SickrageApi, Cache);
var sender = new TvSenderOld(SonarrApi, SickrageApi, Cache);
var sender = new TvSenderV2(SonarrApi, SickrageApi, Cache);
//var sender = new TvSenderOld(SonarrApi, SickrageApi, Cache);
if (s.Enabled)
{
var result = await sender.SendToSonarr(s, model);