mirror of
https://github.com/jellyfin/jellyfin.git
synced 2024-09-06 13:57:14 -04:00
update offline detection
This commit is contained in:
parent
f2689c4a5a
commit
e90072b75f
@ -702,7 +702,7 @@ namespace MediaBrowser.Controller.Entities
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
/// <param name="path">The path.</param>
|
/// <param name="path">The path.</param>
|
||||||
/// <returns><c>true</c> if the specified path is offline; otherwise, <c>false</c>.</returns>
|
/// <returns><c>true</c> if the specified path is offline; otherwise, <c>false</c>.</returns>
|
||||||
private bool IsPathOffline(string path)
|
public static bool IsPathOffline(string path)
|
||||||
{
|
{
|
||||||
if (FileSystem.FileExists(path))
|
if (FileSystem.FileExists(path))
|
||||||
{
|
{
|
||||||
@ -736,12 +736,12 @@ namespace MediaBrowser.Controller.Entities
|
|||||||
/// <param name="folders">The folders.</param>
|
/// <param name="folders">The folders.</param>
|
||||||
/// <param name="path">The path.</param>
|
/// <param name="path">The path.</param>
|
||||||
/// <returns><c>true</c> if the specified folders contains path; otherwise, <c>false</c>.</returns>
|
/// <returns><c>true</c> if the specified folders contains path; otherwise, <c>false</c>.</returns>
|
||||||
private bool ContainsPath(IEnumerable<VirtualFolderInfo> folders, string path)
|
private static bool ContainsPath(IEnumerable<VirtualFolderInfo> folders, string path)
|
||||||
{
|
{
|
||||||
return folders.SelectMany(i => i.Locations).Any(i => ContainsPath(i, path));
|
return folders.SelectMany(i => i.Locations).Any(i => ContainsPath(i, path));
|
||||||
}
|
}
|
||||||
|
|
||||||
private bool ContainsPath(string parent, string path)
|
private static bool ContainsPath(string parent, string path)
|
||||||
{
|
{
|
||||||
return string.Equals(parent, path, StringComparison.OrdinalIgnoreCase) || FileSystem.ContainsSubPath(parent, path);
|
return string.Equals(parent, path, StringComparison.OrdinalIgnoreCase) || FileSystem.ContainsSubPath(parent, path);
|
||||||
}
|
}
|
||||||
|
@ -184,15 +184,24 @@ namespace MediaBrowser.Server.Implementations.Persistence
|
|||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
if (!_fileSystem.FileExists(path) && !_fileSystem.DirectoryExists(path))
|
if (_fileSystem.FileExists(path) || _fileSystem.DirectoryExists(path))
|
||||||
{
|
{
|
||||||
var libraryItem = _libraryManager.GetItemById(item.Item1);
|
continue;
|
||||||
|
|
||||||
await _libraryManager.DeleteItem(libraryItem, new DeleteOptions
|
|
||||||
{
|
|
||||||
DeleteFileLocation = false
|
|
||||||
});
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var libraryItem = _libraryManager.GetItemById(item.Item1);
|
||||||
|
|
||||||
|
if (Folder.IsPathOffline(path))
|
||||||
|
{
|
||||||
|
libraryItem.IsOffline = true;
|
||||||
|
await libraryItem.UpdateToRepository(ItemUpdateType.None, cancellationToken).ConfigureAwait(false);
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
await _libraryManager.DeleteItem(libraryItem, new DeleteOptions
|
||||||
|
{
|
||||||
|
DeleteFileLocation = false
|
||||||
|
});
|
||||||
}
|
}
|
||||||
catch (OperationCanceledException)
|
catch (OperationCanceledException)
|
||||||
{
|
{
|
||||||
|
Loading…
Reference in New Issue
Block a user