aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Controller/Entities/BaseItem.cs
diff options
context:
space:
mode:
authorLuke Pulverenti <luke.pulverenti@gmail.com>2014-12-02 22:13:03 -0500
committerLuke Pulverenti <luke.pulverenti@gmail.com>2014-12-02 22:13:03 -0500
commit56f6b0335ce40aeab275f1038b96a8ecc642f18f (patch)
tree92d8a4c47dec99f1be6e1aca0bb59bd64b48911b /MediaBrowser.Controller/Entities/BaseItem.cs
parentc48458f215bd5ea1da3ef3636f801a4652e77aa0 (diff)
updated nuget
Diffstat (limited to 'MediaBrowser.Controller/Entities/BaseItem.cs')
-rw-r--r--MediaBrowser.Controller/Entities/BaseItem.cs53
1 files changed, 52 insertions, 1 deletions
diff --git a/MediaBrowser.Controller/Entities/BaseItem.cs b/MediaBrowser.Controller/Entities/BaseItem.cs
index ca08cf1a1..5f1d45fc8 100644
--- a/MediaBrowser.Controller/Entities/BaseItem.cs
+++ b/MediaBrowser.Controller/Entities/BaseItem.cs
@@ -893,6 +893,28 @@ namespace MediaBrowser.Controller.Entities
return Id.ToString();
}
+ internal virtual bool IsValidFromResolver(BaseItem newItem)
+ {
+ var current = this;
+
+ var currentAsPlaceHolder = current as ISupportsPlaceHolders;
+
+ if (currentAsPlaceHolder != null)
+ {
+ var newHasPlaceHolder = newItem as ISupportsPlaceHolders;
+
+ if (newHasPlaceHolder != null)
+ {
+ if (currentAsPlaceHolder.IsPlaceHolder != newHasPlaceHolder.IsPlaceHolder)
+ {
+ return false;
+ }
+ }
+ }
+
+ return current.IsInMixedFolder == newItem.IsInMixedFolder;
+ }
+
/// <summary>
/// Gets the preferred metadata language.
/// </summary>
@@ -1288,7 +1310,7 @@ namespace MediaBrowser.Controller.Entities
/// <param name="resetPosition">if set to <c>true</c> [reset position].</param>
/// <returns>Task.</returns>
/// <exception cref="System.ArgumentNullException"></exception>
- public virtual async Task MarkPlayed(User user,
+ public virtual async Task MarkPlayed(User user,
DateTime? datePlayed,
bool resetPosition)
{
@@ -1726,5 +1748,34 @@ namespace MediaBrowser.Controller.Entities
}
}
}
+
+ protected Task RefreshMetadataForOwnedVideo(MetadataRefreshOptions options, string path, CancellationToken cancellationToken)
+ {
+ var newOptions = new MetadataRefreshOptions(options.DirectoryService)
+ {
+ ImageRefreshMode = options.ImageRefreshMode,
+ MetadataRefreshMode = options.MetadataRefreshMode,
+ ReplaceAllMetadata = options.ReplaceAllMetadata
+ };
+
+ var id = LibraryManager.GetNewItemId(path, typeof(Video));
+
+ // Try to retrieve it from the db. If we don't find it, use the resolved version
+ var video = LibraryManager.GetItemById(id) as Video;
+
+ if (video == null)
+ {
+ video = LibraryManager.ResolvePath(new FileInfo(path)) as Video;
+
+ newOptions.ForceSave = true;
+ }
+
+ if (video == null)
+ {
+ return Task.FromResult(true);
+ }
+
+ return video.RefreshMetadata(newOptions, cancellationToken);
+ }
}
}