mirror of
https://github.com/jellyfin/jellyfin.git
synced 2026-04-21 01:24:44 +01:00
more on image uploading
This commit is contained in:
@@ -287,6 +287,7 @@ namespace MediaBrowser.Controller.Dto
|
||||
dto.AspectRatio = item.AspectRatio;
|
||||
|
||||
dto.BackdropImageTags = GetBackdropImageTags(item);
|
||||
dto.ScreenshotImageTags = GetScreenshotImageTags(item);
|
||||
|
||||
if (fields.Contains(ItemFields.Genres))
|
||||
{
|
||||
@@ -981,5 +982,20 @@ namespace MediaBrowser.Controller.Dto
|
||||
|
||||
return item.BackdropImagePaths.Select(p => Kernel.Instance.ImageManager.GetImageCacheTag(item, ImageType.Backdrop, p)).ToList();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets the screenshot image tags.
|
||||
/// </summary>
|
||||
/// <param name="item">The item.</param>
|
||||
/// <returns>List{Guid}.</returns>
|
||||
private List<Guid> GetScreenshotImageTags(BaseItem item)
|
||||
{
|
||||
if (item.ScreenshotImagePaths == null)
|
||||
{
|
||||
return new List<Guid>();
|
||||
}
|
||||
|
||||
return item.ScreenshotImagePaths.Select(p => Kernel.Instance.ImageManager.GetImageCacheTag(item, ImageType.Screenshot, p)).ToList();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1475,22 +1475,49 @@ namespace MediaBrowser.Controller.Entities
|
||||
/// Deletes the image.
|
||||
/// </summary>
|
||||
/// <param name="type">The type.</param>
|
||||
/// <param name="index">The index.</param>
|
||||
/// <returns>Task.</returns>
|
||||
public async Task DeleteImage(ImageType type)
|
||||
public Task DeleteImage(ImageType type, int? index)
|
||||
{
|
||||
if (!HasImage(type))
|
||||
if (type == ImageType.Backdrop)
|
||||
{
|
||||
return;
|
||||
if (!index.HasValue)
|
||||
{
|
||||
throw new ArgumentException("Please specify a backdrop image index to delete.");
|
||||
}
|
||||
|
||||
var file = BackdropImagePaths[index.Value];
|
||||
|
||||
BackdropImagePaths.Remove(file);
|
||||
|
||||
// Delete the source file
|
||||
File.Delete(file);
|
||||
}
|
||||
else if (type == ImageType.Screenshot)
|
||||
{
|
||||
if (!index.HasValue)
|
||||
{
|
||||
throw new ArgumentException("Please specify a screenshot image index to delete.");
|
||||
}
|
||||
|
||||
var file = ScreenshotImagePaths[index.Value];
|
||||
|
||||
ScreenshotImagePaths.Remove(file);
|
||||
|
||||
// Delete the source file
|
||||
File.Delete(file);
|
||||
}
|
||||
else
|
||||
{
|
||||
// Delete the source file
|
||||
File.Delete(GetImage(type));
|
||||
|
||||
// Remove it from the item
|
||||
SetImage(type, null);
|
||||
}
|
||||
|
||||
// Delete the source file
|
||||
File.Delete(GetImage(type));
|
||||
|
||||
// Remove it from the item
|
||||
SetImage(type, null);
|
||||
|
||||
// Refresh metadata
|
||||
await RefreshMetadata(CancellationToken.None).ConfigureAwait(false);
|
||||
return RefreshMetadata(CancellationToken.None);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -55,7 +55,7 @@ namespace MediaBrowser.Controller.IO
|
||||
|
||||
try
|
||||
{
|
||||
return info.LastAccessTimeUtc;
|
||||
return info.LastWriteTimeUtc;
|
||||
}
|
||||
catch (Exception ex)
|
||||
{
|
||||
|
||||
@@ -47,5 +47,14 @@ namespace MediaBrowser.Controller.Providers
|
||||
/// </summary>
|
||||
/// <param name="providers">The providers.</param>
|
||||
void AddMetadataProviders(IEnumerable<BaseMetadataProvider> providers);
|
||||
|
||||
/// <summary>
|
||||
/// Gets the save path.
|
||||
/// </summary>
|
||||
/// <param name="item">The item.</param>
|
||||
/// <param name="targetFileName">Name of the target file.</param>
|
||||
/// <param name="saveLocally">if set to <c>true</c> [save locally].</param>
|
||||
/// <returns>System.String.</returns>
|
||||
string GetSavePath(BaseItem item, string targetFileName, bool saveLocally);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user