sync tv show thumb art (#214)

* sync thumb art from local, jellyfin, emby

* code cleanup
This commit is contained in:
Jason Dove
2021-05-26 12:46:23 -05:00
committed by GitHub
parent 8e81d5f197
commit 466d33f808
14 changed files with 164 additions and 32 deletions
@@ -194,6 +194,23 @@ namespace ErsatzTV.Infrastructure.Data.Repositories
poster.DateUpdated = incomingPoster.DateUpdated;
}
// thumbnail
Artwork incomingThumbnail =
incomingMetadata.Artwork.FirstOrDefault(a => a.ArtworkKind == ArtworkKind.Thumbnail);
if (incomingThumbnail != null)
{
Artwork thumb = metadata.Artwork.FirstOrDefault(a => a.ArtworkKind == ArtworkKind.Thumbnail);
if (thumb == null)
{
thumb = new Artwork { ArtworkKind = ArtworkKind.Thumbnail };
metadata.Artwork.Add(thumb);
}
thumb.Path = incomingThumbnail.Path;
thumb.DateAdded = incomingThumbnail.DateAdded;
thumb.DateUpdated = incomingThumbnail.DateUpdated;
}
// fan art
Artwork incomingFanArt =
incomingMetadata.Artwork.FirstOrDefault(a => a.ArtworkKind == ArtworkKind.FanArt);
@@ -210,6 +227,12 @@ namespace ErsatzTV.Infrastructure.Data.Repositories
fanArt.DateAdded = incomingFanArt.DateAdded;
fanArt.DateUpdated = incomingFanArt.DateUpdated;
}
var paths = incomingMetadata.Artwork.Map(a => a.Path).ToList();
foreach (Artwork artworkToRemove in metadata.Artwork.Filter(a => !paths.Contains(a.Path)))
{
metadata.Artwork.Remove(artworkToRemove);
}
}
await dbContext.SaveChangesAsync();
@@ -296,6 +319,12 @@ namespace ErsatzTV.Infrastructure.Data.Repositories
fanArt.DateAdded = incomingFanArt.DateAdded;
fanArt.DateUpdated = incomingFanArt.DateUpdated;
}
var paths = incomingMetadata.Artwork.Map(a => a.Path).ToList();
foreach (Artwork artworkToRemove in metadata.Artwork.Filter(a => !paths.Contains(a.Path)))
{
metadata.Artwork.Remove(artworkToRemove);
}
}
await dbContext.SaveChangesAsync();
@@ -371,6 +400,12 @@ namespace ErsatzTV.Infrastructure.Data.Repositories
thumbnail.DateUpdated = incomingThumbnail.DateUpdated;
}
var paths = incomingMetadata.Artwork.Map(a => a.Path).ToList();
foreach (Artwork artworkToRemove in metadata.Artwork.Filter(a => !paths.Contains(a.Path)))
{
metadata.Artwork.Remove(artworkToRemove);
}
// version
MediaVersion version = existing.MediaVersions.Head();
MediaVersion incomingVersion = episode.MediaVersions.Head();