mirror of
https://github.com/Ombi-app/Ombi.git
synced 2025-08-20 21:33:15 -07:00
refactor: Made some small changes around the syncs to add in 4k to the radarr sync
This commit is contained in:
parent
a3046e386c
commit
073f1c946b
3 changed files with 25 additions and 18 deletions
|
@ -73,23 +73,37 @@ namespace Ombi.Schedule.Jobs.Radarr
|
||||||
private async Task ProcessMovies()
|
private async Task ProcessMovies()
|
||||||
{
|
{
|
||||||
var availableRadarrMovies = _radarrRepo.GetAll().Where(x => x.HasFile).ToImmutableHashSet();
|
var availableRadarrMovies = _radarrRepo.GetAll().Where(x => x.HasFile).ToImmutableHashSet();
|
||||||
var unavailableMovieRequests = _movies.GetAll().Where(x => !x.Available).ToImmutableHashSet();
|
var unavailableMovieRequests = _movies.GetAll().Where(x => !x.Available || (!x.Available4K && x.Has4KRequest)).ToImmutableHashSet();
|
||||||
|
|
||||||
var itemsForAvailability = new List<AvailabilityModel>();
|
var itemsForAvailability = new List<AvailabilityModel>();
|
||||||
foreach (var movieRequest in unavailableMovieRequests)
|
foreach (var movieRequest in unavailableMovieRequests)
|
||||||
{
|
{
|
||||||
// Do we have an item in the radarr list
|
// Do we have an item in the radarr list
|
||||||
var available = availableRadarrMovies.Any(x => x.TheMovieDbId == movieRequest.TheMovieDbId);
|
var available = availableRadarrMovies.FirstOrDefault(x => x.TheMovieDbId == movieRequest.TheMovieDbId);
|
||||||
if (available)
|
if (available != null)
|
||||||
{
|
{
|
||||||
_logger.LogInformation($"Found move '{movieRequest.Title}' available in Radarr");
|
_logger.LogInformation($"Found move '{movieRequest.Title}' available in Radarr");
|
||||||
movieRequest.Available = true;
|
if (available.Has4K && !movieRequest.Available4K)
|
||||||
movieRequest.MarkedAsAvailable = DateTime.UtcNow;
|
{
|
||||||
itemsForAvailability.Add(new AvailabilityModel
|
itemsForAvailability.Add(new AvailabilityModel
|
||||||
{
|
{
|
||||||
Id = movieRequest.Id,
|
Id = movieRequest.Id,
|
||||||
RequestedUser = movieRequest.RequestedUser != null ? movieRequest.RequestedUser.Email : string.Empty
|
RequestedUser = movieRequest.RequestedUser != null ? movieRequest.RequestedUser.Email : string.Empty
|
||||||
});
|
});
|
||||||
|
movieRequest.Available4K = true;
|
||||||
|
movieRequest.MarkedAsAvailable4K = DateTime.UtcNow;
|
||||||
|
}
|
||||||
|
if (available.HasRegular)
|
||||||
|
{
|
||||||
|
itemsForAvailability.Add(new AvailabilityModel
|
||||||
|
{
|
||||||
|
Id = movieRequest.Id,
|
||||||
|
RequestedUser = movieRequest.RequestedUser != null ? movieRequest.RequestedUser.Email : string.Empty
|
||||||
|
});
|
||||||
|
movieRequest.Available = true;
|
||||||
|
movieRequest.MarkedAsAvailable = DateTime.UtcNow;
|
||||||
|
}
|
||||||
|
await _movies.SaveChangesAsync();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -97,7 +111,6 @@ namespace Ombi.Schedule.Jobs.Radarr
|
||||||
{
|
{
|
||||||
await _hub.Clients.Clients(NotificationHub.AdminConnectionIds)
|
await _hub.Clients.Clients(NotificationHub.AdminConnectionIds)
|
||||||
.SendAsync(NotificationHub.NotificationEvent, "Radarr Availability Checker found some new available movies!");
|
.SendAsync(NotificationHub.NotificationEvent, "Radarr Availability Checker found some new available movies!");
|
||||||
await _movies.SaveChangesAsync();
|
|
||||||
}
|
}
|
||||||
foreach (var item in itemsForAvailability)
|
foreach (var item in itemsForAvailability)
|
||||||
{
|
{
|
||||||
|
@ -110,7 +123,6 @@ namespace Ombi.Schedule.Jobs.Radarr
|
||||||
Recipient = item.RequestedUser
|
Recipient = item.RequestedUser
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public async Task ProcessTvShows()
|
public async Task ProcessTvShows()
|
||||||
|
|
|
@ -211,6 +211,7 @@ namespace Ombi.Schedule.Jobs.Plex
|
||||||
movie.Available4K = true;
|
movie.Available4K = true;
|
||||||
movie.Approved4K = true;
|
movie.Approved4K = true;
|
||||||
movie.MarkedAsAvailable4K = DateTime.Now;
|
movie.MarkedAsAvailable4K = DateTime.Now;
|
||||||
|
await _movieRepo.SaveChangesAsync();
|
||||||
}
|
}
|
||||||
|
|
||||||
// If we have a non-4k versison then mark as available
|
// If we have a non-4k versison then mark as available
|
||||||
|
@ -219,6 +220,7 @@ namespace Ombi.Schedule.Jobs.Plex
|
||||||
movie.Available = true;
|
movie.Available = true;
|
||||||
movie.Approved = true;
|
movie.Approved = true;
|
||||||
movie.MarkedAsAvailable = DateTime.Now;
|
movie.MarkedAsAvailable = DateTime.Now;
|
||||||
|
await _movieRepo.SaveChangesAsync();
|
||||||
}
|
}
|
||||||
|
|
||||||
itemsForAvailbility.Add(new AvailabilityModel
|
itemsForAvailbility.Add(new AvailabilityModel
|
||||||
|
@ -228,11 +230,6 @@ namespace Ombi.Schedule.Jobs.Plex
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
if (itemsForAvailbility.Any())
|
|
||||||
{
|
|
||||||
await _movieRepo.SaveChangesAsync();
|
|
||||||
}
|
|
||||||
|
|
||||||
foreach (var i in itemsForAvailbility.DistinctBy(x => x.Id))
|
foreach (var i in itemsForAvailbility.DistinctBy(x => x.Id))
|
||||||
{
|
{
|
||||||
await _notificationService.Notify(new NotificationOptions
|
await _notificationService.Notify(new NotificationOptions
|
||||||
|
|
|
@ -103,10 +103,8 @@ namespace Ombi.Schedule.Jobs.Radarr
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// Save from the updates made to the existing movies (they are in the EF Change Tracker)
|
// Save from the updates made to the existing movies (they are in the EF Change Tracker)
|
||||||
await _radarrRepo.SaveChangesAsync();
|
await _radarrRepo.SaveChangesAsync();
|
||||||
|
|
||||||
await _radarrRepo.AddRange(movieIds);
|
await _radarrRepo.AddRange(movieIds);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue