mirror of
https://github.com/Ombi-app/Ombi.git
synced 2025-07-11 07:46:05 -07:00
Lots of small fixes including #475
This commit is contained in:
parent
ac51b39636
commit
bcf1c9cd8e
7 changed files with 123 additions and 86 deletions
|
@ -4,6 +4,10 @@ namespace PlexRequests.Api.Models.Tv
|
|||
{
|
||||
public class TvMazeShow
|
||||
{
|
||||
public TvMazeShow()
|
||||
{
|
||||
Season = new List<TvMazeCustomSeason>();
|
||||
}
|
||||
public int id { get; set; }
|
||||
public string url { get; set; }
|
||||
public string name { get; set; }
|
||||
|
@ -23,10 +27,16 @@ namespace PlexRequests.Api.Models.Tv
|
|||
public string summary { get; set; }
|
||||
public int updated { get; set; }
|
||||
public Links _links { get; set; }
|
||||
public int seasonCount { get; set; }
|
||||
public List<TvMazeCustomSeason> Season { get; set; }
|
||||
public Embedded _embedded { get; set; }
|
||||
}
|
||||
|
||||
public class TvMazeCustomSeason
|
||||
{
|
||||
public int SeasonNumber { get; set; }
|
||||
public int EpisodeNumber { get; set; }
|
||||
}
|
||||
|
||||
public class Season
|
||||
{
|
||||
public int id { get; set; }
|
||||
|
|
|
@ -93,7 +93,17 @@ namespace PlexRequests.Api
|
|||
request.AddHeader("Content-Type", "application/json");
|
||||
|
||||
var obj = Api.Execute<TvMazeShow>(request, new Uri(Uri));
|
||||
obj.seasonCount = GetSeasonCount(obj.id);
|
||||
|
||||
var episodes = EpisodeLookup(obj.id).ToList();
|
||||
|
||||
foreach (var e in episodes)
|
||||
{
|
||||
obj.Season.Add(new TvMazeCustomSeason
|
||||
{
|
||||
SeasonNumber = e.season,
|
||||
EpisodeNumber = e.number
|
||||
});
|
||||
}
|
||||
|
||||
return obj;
|
||||
}
|
||||
|
@ -110,6 +120,7 @@ namespace PlexRequests.Api
|
|||
|
||||
return Api.Execute<List<TvMazeSeasons>>(request, new Uri(Uri));
|
||||
}
|
||||
|
||||
public int GetSeasonCount(int id)
|
||||
{
|
||||
var obj = GetSeasons(id);
|
||||
|
|
|
@ -271,7 +271,7 @@ namespace PlexRequests.Services.Jobs
|
|||
{
|
||||
if (advanced)
|
||||
{
|
||||
if (show.ProviderId == providerId)
|
||||
if (show.ProviderId == providerId && seasons != null)
|
||||
{
|
||||
if (seasons.Any(season => show.Seasons.Contains(season)))
|
||||
{
|
||||
|
|
|
@ -112,6 +112,10 @@ namespace PlexRequests.Services.Jobs
|
|||
// Loop through the metadata and create the model to insert into the DB
|
||||
foreach (var metadataVideo in metadata.Video)
|
||||
{
|
||||
if(string.IsNullOrEmpty(metadataVideo.GrandparentTitle))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
var epInfo = PlexHelper.GetSeasonsAndEpisodesFromPlexGuid(metadataVideo.Guid);
|
||||
entities.TryAdd(
|
||||
new PlexEpisodes
|
||||
|
|
|
@ -349,8 +349,7 @@ namespace PlexRequests.UI.Modules
|
|||
providerId = viewT.Id.ToString();
|
||||
}
|
||||
|
||||
var plexShow = Checker.GetTvShow(plexTvShows.ToArray(), t.show.name, t.show.premiered?.Substring(0, 4),
|
||||
providerId);
|
||||
var plexShow = Checker.GetTvShow(plexTvShows.ToArray(), t.show.name, t.show.premiered?.Substring(0, 4), providerId);
|
||||
if (plexShow != null)
|
||||
{
|
||||
viewT.Available = true;
|
||||
|
@ -590,7 +589,7 @@ namespace PlexRequests.UI.Modules
|
|||
RequestedUsers = new List<string> { Username },
|
||||
Issues = IssueState.None,
|
||||
ImdbId = showInfo.externals?.imdb ?? string.Empty,
|
||||
SeasonCount = showInfo.seasonCount,
|
||||
SeasonCount = showInfo.Season.Count,
|
||||
TvDbId = showId.ToString()
|
||||
};
|
||||
|
||||
|
@ -703,7 +702,18 @@ namespace PlexRequests.UI.Modules
|
|||
}
|
||||
else
|
||||
{
|
||||
if (Checker.IsTvShowAvailable(shows.ToArray(), showInfo.name, showInfo.premiered?.Substring(0, 4), providerId, model.SeasonList))
|
||||
if (plexSettings.EnableTvEpisodeSearching)
|
||||
{
|
||||
foreach (var s in showInfo.Season)
|
||||
{
|
||||
var result = Checker.IsEpisodeAvailable(showId.ToString(), s.SeasonNumber, s.EpisodeNumber);
|
||||
if (result)
|
||||
{
|
||||
return Response.AsJson(new JsonResponseModel { Result = false, Message = $"{fullShowName} {Resources.UI.Search_AlreadyInPlex}" });
|
||||
}
|
||||
}
|
||||
}
|
||||
else if (Checker.IsTvShowAvailable(shows.ToArray(), showInfo.name, showInfo.premiered?.Substring(0, 4), providerId, model.SeasonList))
|
||||
{
|
||||
return Response.AsJson(new JsonResponseModel { Result = false, Message = $"{fullShowName} {Resources.UI.Search_AlreadyInPlex}" });
|
||||
}
|
||||
|
|
|
@ -59,7 +59,9 @@ namespace PlexRequests.UI.Modules
|
|||
{
|
||||
return Response.AsJson(new JsonUpdateAvailableModel { UpdateAvailable = false });
|
||||
}
|
||||
|
||||
#if DEBUG
|
||||
return Response.AsJson(new JsonUpdateAvailableModel {UpdateAvailable = false});
|
||||
#endif
|
||||
var checker = new StatusChecker();
|
||||
var release = await Cache.GetOrSetAsync(CacheKeys.LastestProductVersion, async() => await checker.GetStatus(), 30);
|
||||
|
||||
|
|
|
@ -82,7 +82,7 @@
|
|||
<div class="form-group">
|
||||
<label for="RecentlyAdded" class="control-label">Recently Added Email (hours)</label>
|
||||
<div>
|
||||
<input type="text" class="form-control form-control-custom " id="RecentlyAdded" name="RecentlyAddedModel" value="@Model.RecentlyAddedModel">
|
||||
<input type="text" class="form-control form-control-custom " id="RecentlyAdded" name="RecentlyAdded" value="@Model.RecentlyAdded">
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue