mirror of
https://github.com/Ombi-app/Ombi.git
synced 2025-08-14 02:26:55 -07:00
Working on the movie matching. Stop dupes #1869
This commit is contained in:
parent
c7d88f8808
commit
6002b202d9
3 changed files with 29 additions and 3 deletions
|
@ -122,7 +122,12 @@ namespace Ombi.Schedule.Jobs.Plex
|
|||
}
|
||||
|
||||
// Do we already have this item?
|
||||
var existingContent = await Repo.GetByKey(show.ratingKey);
|
||||
// Let's try and match
|
||||
var existingContent = await Repo.GetFirstContentByCustom(x => x.Title == show.title
|
||||
&& x.ReleaseYear == show.year.ToString()
|
||||
&& x.Type == PlexMediaTypeEntity.Show);
|
||||
// The ratingKey keeps changing...
|
||||
//var existingContent = await Repo.GetByKey(show.ratingKey);
|
||||
if (existingContent != null)
|
||||
{
|
||||
try
|
||||
|
@ -197,7 +202,12 @@ namespace Ombi.Schedule.Jobs.Plex
|
|||
foreach (var movie in content?.Metadata ?? new Metadata[] { })
|
||||
{
|
||||
// Let's check if we have this movie
|
||||
var existing = await Repo.GetByKey(movie.ratingKey);
|
||||
|
||||
var existing = await Repo.GetFirstContentByCustom(x => x.Title == movie.title
|
||||
&& x.ReleaseYear == movie.year.ToString()
|
||||
&& x.Type == PlexMediaTypeEntity.Movie);
|
||||
// The rating key keeps changing
|
||||
//var existing = await Repo.GetByKey(movie.ratingKey);
|
||||
if (existing != null)
|
||||
{
|
||||
continue;
|
||||
|
|
|
@ -1,5 +1,7 @@
|
|||
using System.Collections.Generic;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Linq.Expressions;
|
||||
using System.Threading.Tasks;
|
||||
using Ombi.Store.Entities;
|
||||
|
||||
|
@ -15,5 +17,7 @@ namespace Ombi.Store.Repository
|
|||
Task<PlexEpisode> Add(PlexEpisode content);
|
||||
Task<PlexEpisode> GetEpisodeByKey(int key);
|
||||
Task AddRange(IEnumerable<PlexEpisode> content);
|
||||
IEnumerable<PlexServerContent> GetWhereContentByCustom(Expression<Func<PlexServerContent, bool>> predicate);
|
||||
Task<PlexServerContent> GetFirstContentByCustom(Expression<Func<PlexServerContent, bool>> predicate);
|
||||
}
|
||||
}
|
|
@ -25,8 +25,10 @@
|
|||
// ************************************************************************/
|
||||
#endregion
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Linq.Expressions;
|
||||
using System.Threading.Tasks;
|
||||
using Microsoft.EntityFrameworkCore;
|
||||
using Ombi.Store.Context;
|
||||
|
@ -74,6 +76,16 @@ namespace Ombi.Store.Repository
|
|||
return await Db.PlexServerContent.Include(x => x.Seasons).FirstOrDefaultAsync(x => x.Key == key);
|
||||
}
|
||||
|
||||
public IEnumerable<PlexServerContent> GetWhereContentByCustom(Expression<Func<PlexServerContent, bool>> predicate)
|
||||
{
|
||||
return Db.PlexServerContent.Where(predicate);
|
||||
}
|
||||
|
||||
public async Task<PlexServerContent> GetFirstContentByCustom(Expression<Func<PlexServerContent, bool>> predicate)
|
||||
{
|
||||
return await Db.PlexServerContent.FirstOrDefaultAsync(predicate);
|
||||
}
|
||||
|
||||
public async Task Update(PlexServerContent existingContent)
|
||||
{
|
||||
Db.PlexServerContent.Update(existingContent);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue