aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorJoshua M. Boniface <joshua@boniface.me>2025-01-25 02:08:44 -0500
committerGitHub <noreply@github.com>2025-01-25 02:08:44 -0500
commit93b8eade617dbce16979bbada63b7faf44c5ce82 (patch)
tree5ef83a80b4ef1f713961d32ee6311c6033a3a9a9 /src
parent679ee960d346f24d7df559cbbaf95cf1c9567345 (diff)
parent64cf67f1ac758acd36db61432c97e434d9f9225d (diff)
Merge pull request #12798 from JPVenson/feature/EFUserData
Refactor library.db into jellyfin.db and EFCore
Diffstat (limited to 'src')
-rw-r--r--src/Jellyfin.Drawing/ImageProcessor.cs26
-rw-r--r--src/Jellyfin.LiveTv/Guide/GuideManager.cs2
2 files changed, 24 insertions, 4 deletions
diff --git a/src/Jellyfin.Drawing/ImageProcessor.cs b/src/Jellyfin.Drawing/ImageProcessor.cs
index 5d4732234..0bd3b8920 100644
--- a/src/Jellyfin.Drawing/ImageProcessor.cs
+++ b/src/Jellyfin.Drawing/ImageProcessor.cs
@@ -4,6 +4,7 @@ using System.Globalization;
using System.IO;
using System.Linq;
using System.Net.Mime;
+using System.Reflection.Metadata.Ecma335;
using System.Text;
using System.Threading;
using System.Threading.Tasks;
@@ -15,6 +16,7 @@ using MediaBrowser.Controller.Configuration;
using MediaBrowser.Controller.Drawing;
using MediaBrowser.Controller.Entities;
using MediaBrowser.Model.Drawing;
+using MediaBrowser.Model.Dto;
using MediaBrowser.Model.Entities;
using MediaBrowser.Model.IO;
using MediaBrowser.Model.Net;
@@ -404,8 +406,27 @@ public sealed class ImageProcessor : IImageProcessor, IDisposable
}
/// <inheritdoc />
+ public string GetImageCacheTag(string baseItemPath, DateTime imageDateModified)
+ => (baseItemPath + imageDateModified.Ticks).GetMD5().ToString("N", CultureInfo.InvariantCulture);
+
+ /// <inheritdoc />
public string GetImageCacheTag(BaseItem item, ItemImageInfo image)
- => (item.Path + image.DateModified.Ticks).GetMD5().ToString("N", CultureInfo.InvariantCulture);
+ => GetImageCacheTag(item.Path, image.DateModified);
+
+ /// <inheritdoc />
+ public string GetImageCacheTag(BaseItemDto item, ItemImageInfo image)
+ => GetImageCacheTag(item.Path, image.DateModified);
+
+ /// <inheritdoc />
+ public string? GetImageCacheTag(BaseItemDto item, ChapterInfo chapter)
+ {
+ if (chapter.ImagePath is null)
+ {
+ return null;
+ }
+
+ return GetImageCacheTag(item.Path, chapter.ImageDateModified);
+ }
/// <inheritdoc />
public string? GetImageCacheTag(BaseItem item, ChapterInfo chapter)
@@ -431,8 +452,7 @@ public sealed class ImageProcessor : IImageProcessor, IDisposable
return null;
}
- return (user.ProfileImage.Path + user.ProfileImage.LastModified.Ticks).GetMD5()
- .ToString("N", CultureInfo.InvariantCulture);
+ return GetImageCacheTag(user.ProfileImage.Path, user.ProfileImage.LastModified);
}
private Task<(string Path, DateTime DateModified)> GetSupportedImage(string originalImagePath, DateTime dateModified)
diff --git a/src/Jellyfin.LiveTv/Guide/GuideManager.cs b/src/Jellyfin.LiveTv/Guide/GuideManager.cs
index f657422a0..ff31b7123 100644
--- a/src/Jellyfin.LiveTv/Guide/GuideManager.cs
+++ b/src/Jellyfin.LiveTv/Guide/GuideManager.cs
@@ -265,7 +265,7 @@ public class GuideManager : IGuideManager
if (newPrograms.Count > 0)
{
- _libraryManager.CreateItems(newPrograms, null, cancellationToken);
+ _libraryManager.CreateOrUpdateItems(newPrograms, null, cancellationToken);
await PrecacheImages(newPrograms, maxCacheDate).ConfigureAwait(false);
}