mirror of
https://github.com/jellyfin/jellyfin.git
synced 2026-04-22 01:54:42 +01:00
clean related files when deleting items
This commit is contained in:
@@ -3874,6 +3874,25 @@ namespace Emby.Server.Implementations.Data
|
||||
whereClauses.Add(clause);
|
||||
}
|
||||
|
||||
if (query.AlbumIds.Length > 0)
|
||||
{
|
||||
var clauses = new List<string>();
|
||||
var index = 0;
|
||||
foreach (var albumId in query.AlbumIds)
|
||||
{
|
||||
var paramName = "@AlbumIds" + index;
|
||||
|
||||
clauses.Add("Album in (select Name from typedbaseitems where guid=" + paramName + ")");
|
||||
if (statement != null)
|
||||
{
|
||||
statement.TryBind(paramName, albumId.ToGuidParamValue());
|
||||
}
|
||||
index++;
|
||||
}
|
||||
var clause = "(" + string.Join(" OR ", clauses.ToArray()) + ")";
|
||||
whereClauses.Add(clause);
|
||||
}
|
||||
|
||||
if (query.ExcludeArtistIds.Length > 0)
|
||||
{
|
||||
var clauses = new List<string>();
|
||||
@@ -4227,30 +4246,6 @@ namespace Emby.Server.Implementations.Data
|
||||
{
|
||||
whereClauses.Add("ProviderIds like '%tvdb=%'");
|
||||
}
|
||||
|
||||
if (query.AlbumNames.Length > 0)
|
||||
{
|
||||
var clause = "(";
|
||||
|
||||
var index = 0;
|
||||
foreach (var name in query.AlbumNames)
|
||||
{
|
||||
if (index > 0)
|
||||
{
|
||||
clause += " OR ";
|
||||
}
|
||||
clause += "Album=@AlbumName" + index;
|
||||
|
||||
if (statement != null)
|
||||
{
|
||||
statement.TryBind("@AlbumName" + index, name);
|
||||
}
|
||||
index++;
|
||||
}
|
||||
|
||||
clause += ")";
|
||||
whereClauses.Add(clause);
|
||||
}
|
||||
if (query.HasThemeSong.HasValue)
|
||||
{
|
||||
if (query.HasThemeSong.Value)
|
||||
|
||||
@@ -492,7 +492,10 @@ namespace Emby.Server.Implementations.Dto
|
||||
}
|
||||
}
|
||||
|
||||
dto.PlayAccess = item.GetPlayAccess(user);
|
||||
//if (!(item is LiveTvProgram))
|
||||
{
|
||||
dto.PlayAccess = item.GetPlayAccess(user);
|
||||
}
|
||||
|
||||
if (fields.Contains(ItemFields.BasicSyncInfo) || fields.Contains(ItemFields.SyncInfo))
|
||||
{
|
||||
@@ -994,7 +997,12 @@ namespace Emby.Server.Implementations.Dto
|
||||
}
|
||||
|
||||
dto.MediaType = item.MediaType;
|
||||
dto.LocationType = item.LocationType;
|
||||
|
||||
if (!(item is LiveTvProgram))
|
||||
{
|
||||
dto.LocationType = item.LocationType;
|
||||
}
|
||||
|
||||
if (item.IsHD.HasValue && item.IsHD.Value)
|
||||
{
|
||||
dto.IsHD = item.IsHD;
|
||||
@@ -1102,7 +1110,10 @@ namespace Emby.Server.Implementations.Dto
|
||||
}
|
||||
|
||||
dto.Type = item.GetClientTypeName();
|
||||
dto.CommunityRating = item.CommunityRating;
|
||||
if ((item.CommunityRating ?? 0) > 0)
|
||||
{
|
||||
dto.CommunityRating = item.CommunityRating;
|
||||
}
|
||||
|
||||
if (fields.Contains(ItemFields.VoteCount))
|
||||
{
|
||||
@@ -1410,8 +1421,6 @@ namespace Emby.Server.Implementations.Dto
|
||||
dto.AirDays = series.AirDays;
|
||||
dto.AirTime = series.AirTime;
|
||||
dto.SeriesStatus = series.Status;
|
||||
|
||||
dto.AnimeSeriesIndex = series.AnimeSeriesIndex;
|
||||
}
|
||||
|
||||
// Add SeasonInfo
|
||||
@@ -1473,9 +1482,12 @@ namespace Emby.Server.Implementations.Dto
|
||||
SetBookProperties(dto, book);
|
||||
}
|
||||
|
||||
if (item.ProductionLocations.Count > 0 || item is Movie)
|
||||
if (fields.Contains(ItemFields.ProductionLocations))
|
||||
{
|
||||
dto.ProductionLocations = item.ProductionLocations.ToArray();
|
||||
if (item.ProductionLocations.Count > 0 || item is Movie)
|
||||
{
|
||||
dto.ProductionLocations = item.ProductionLocations.ToArray();
|
||||
}
|
||||
}
|
||||
|
||||
var photo = item as Photo;
|
||||
|
||||
@@ -409,17 +409,17 @@ namespace Emby.Server.Implementations.Library
|
||||
|
||||
if (options.DeleteFileLocation && locationType != LocationType.Remote && locationType != LocationType.Virtual)
|
||||
{
|
||||
foreach (var path in item.GetDeletePaths().ToList())
|
||||
foreach (var fileSystemInfo in item.GetDeletePaths().ToList())
|
||||
{
|
||||
if (_fileSystem.DirectoryExists(path))
|
||||
if (fileSystemInfo.IsDirectory)
|
||||
{
|
||||
_logger.Debug("Deleting path {0}", path);
|
||||
_fileSystem.DeleteDirectory(path, true);
|
||||
_logger.Debug("Deleting path {0}", fileSystemInfo.FullName);
|
||||
_fileSystem.DeleteDirectory(fileSystemInfo.FullName, true);
|
||||
}
|
||||
else if (_fileSystem.FileExists(path))
|
||||
else
|
||||
{
|
||||
_logger.Debug("Deleting path {0}", path);
|
||||
_fileSystem.DeleteFile(path);
|
||||
_logger.Debug("Deleting path {0}", fileSystemInfo.FullName);
|
||||
_fileSystem.DeleteFile(fileSystemInfo.FullName);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -607,6 +607,10 @@ namespace Emby.Server.Implementations.LiveTv
|
||||
item.Audio = info.Audio;
|
||||
item.ChannelId = channel.Id.ToString("N");
|
||||
item.CommunityRating = item.CommunityRating ?? info.CommunityRating;
|
||||
if ((item.CommunityRating ?? 0).Equals(0))
|
||||
{
|
||||
item.CommunityRating = null;
|
||||
}
|
||||
|
||||
item.EpisodeTitle = info.EpisodeTitle;
|
||||
item.ExternalId = info.Id;
|
||||
|
||||
Reference in New Issue
Block a user