|
|
@ -512,7 +512,7 @@ namespace MediaBrowser.Server.Implementations.Sync
|
|
|
|
var video = item as Video;
|
|
|
|
var video = item as Video;
|
|
|
|
if (video != null)
|
|
|
|
if (video != null)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
if (video.VideoType == VideoType.Iso || video.VideoType == VideoType.BluRay || video.VideoType == VideoType.Dvd || video.VideoType == VideoType.HdDvd)
|
|
|
|
if (video.VideoType == VideoType.Iso || video.VideoType == VideoType.HdDvd)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
return false;
|
|
|
|
return false;
|
|
|
|
}
|
|
|
|
}
|
|
|
@ -758,6 +758,8 @@ namespace MediaBrowser.Server.Implementations.Sync
|
|
|
|
var requiresSaving = false;
|
|
|
|
var requiresSaving = false;
|
|
|
|
var removeFromDevice = false;
|
|
|
|
var removeFromDevice = false;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var libraryItem = _libraryManager.GetItemById(jobItem.ItemId);
|
|
|
|
|
|
|
|
|
|
|
|
if (request.LocalItemIds.Contains(jobItem.ItemId, StringComparer.OrdinalIgnoreCase))
|
|
|
|
if (request.LocalItemIds.Contains(jobItem.ItemId, StringComparer.OrdinalIgnoreCase))
|
|
|
|
{
|
|
|
|
{
|
|
|
|
var job = _repo.GetJob(jobItem.JobId);
|
|
|
|
var job = _repo.GetJob(jobItem.JobId);
|
|
|
@ -775,11 +777,13 @@ namespace MediaBrowser.Server.Implementations.Sync
|
|
|
|
_logger.Debug("Adding ItemIdsToRemove {0} because the user is no longer valid.", jobItem.ItemId);
|
|
|
|
_logger.Debug("Adding ItemIdsToRemove {0} because the user is no longer valid.", jobItem.ItemId);
|
|
|
|
removeFromDevice = true;
|
|
|
|
removeFromDevice = true;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else if (job.UnwatchedOnly)
|
|
|
|
else if (!IsLibraryItemAvailable(libraryItem))
|
|
|
|
{
|
|
|
|
{
|
|
|
|
var libraryItem = _libraryManager.GetItemById(jobItem.ItemId);
|
|
|
|
// Tell the device to remove it since it's no longer available
|
|
|
|
|
|
|
|
_logger.Debug("Adding ItemIdsToRemove {0} because it is no longer available.", jobItem.ItemId);
|
|
|
|
if (IsLibraryItemAvailable(libraryItem))
|
|
|
|
removeFromDevice = true;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
else if (job.UnwatchedOnly)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
if (libraryItem.IsPlayed(user) && libraryItem is Video)
|
|
|
|
if (libraryItem.IsPlayed(user) && libraryItem is Video)
|
|
|
|
{
|
|
|
|
{
|
|
|
@ -788,13 +792,6 @@ namespace MediaBrowser.Server.Implementations.Sync
|
|
|
|
removeFromDevice = true;
|
|
|
|
removeFromDevice = true;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
// Tell the device to remove it since it's no longer available
|
|
|
|
|
|
|
|
_logger.Debug("Adding ItemIdsToRemove {0} because it is no longer available.", jobItem.ItemId);
|
|
|
|
|
|
|
|
removeFromDevice = true;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else
|
|
|
|
else
|
|
|
|
{
|
|
|
|
{
|
|
|
@ -866,6 +863,8 @@ namespace MediaBrowser.Server.Implementations.Sync
|
|
|
|
var requiresSaving = false;
|
|
|
|
var requiresSaving = false;
|
|
|
|
var removeFromDevice = false;
|
|
|
|
var removeFromDevice = false;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
var libraryItem = _libraryManager.GetItemById(jobItem.ItemId);
|
|
|
|
|
|
|
|
|
|
|
|
if (request.SyncJobItemIds.Contains(jobItem.Id, StringComparer.OrdinalIgnoreCase))
|
|
|
|
if (request.SyncJobItemIds.Contains(jobItem.Id, StringComparer.OrdinalIgnoreCase))
|
|
|
|
{
|
|
|
|
{
|
|
|
|
var job = _repo.GetJob(jobItem.JobId);
|
|
|
|
var job = _repo.GetJob(jobItem.JobId);
|
|
|
@ -883,11 +882,13 @@ namespace MediaBrowser.Server.Implementations.Sync
|
|
|
|
_logger.Debug("Adding ItemIdsToRemove {0} because the user is no longer valid.", jobItem.Id);
|
|
|
|
_logger.Debug("Adding ItemIdsToRemove {0} because the user is no longer valid.", jobItem.Id);
|
|
|
|
removeFromDevice = true;
|
|
|
|
removeFromDevice = true;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else if (job.UnwatchedOnly)
|
|
|
|
else if (!IsLibraryItemAvailable(libraryItem))
|
|
|
|
{
|
|
|
|
{
|
|
|
|
var libraryItem = _libraryManager.GetItemById(jobItem.ItemId);
|
|
|
|
// Tell the device to remove it since it's no longer available
|
|
|
|
|
|
|
|
_logger.Debug("Adding ItemIdsToRemove {0} because it is no longer available.", jobItem.Id);
|
|
|
|
if (IsLibraryItemAvailable(libraryItem))
|
|
|
|
removeFromDevice = true;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
else if (job.UnwatchedOnly)
|
|
|
|
{
|
|
|
|
{
|
|
|
|
if (libraryItem.IsPlayed(user) && libraryItem is Video)
|
|
|
|
if (libraryItem.IsPlayed(user) && libraryItem is Video)
|
|
|
|
{
|
|
|
|
{
|
|
|
@ -896,13 +897,6 @@ namespace MediaBrowser.Server.Implementations.Sync
|
|
|
|
removeFromDevice = true;
|
|
|
|
removeFromDevice = true;
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
// Tell the device to remove it since it's no longer available
|
|
|
|
|
|
|
|
_logger.Debug("Adding ItemIdsToRemove {0} because it is no longer available.", jobItem.Id);
|
|
|
|
|
|
|
|
removeFromDevice = true;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
else
|
|
|
|
else
|
|
|
|
{
|
|
|
|
{
|
|
|
|