From 56f6b0335ce40aeab275f1038b96a8ecc642f18f Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Tue, 2 Dec 2014 22:13:03 -0500 Subject: updated nuget --- MediaBrowser.Controller/Entities/BaseItem.cs | 53 +++++++++++++++++++++++++++- 1 file changed, 52 insertions(+), 1 deletion(-) (limited to 'MediaBrowser.Controller/Entities/BaseItem.cs') diff --git a/MediaBrowser.Controller/Entities/BaseItem.cs b/MediaBrowser.Controller/Entities/BaseItem.cs index ca08cf1a1b..5f1d45fc87 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; + } + /// /// Gets the preferred metadata language. /// @@ -1288,7 +1310,7 @@ namespace MediaBrowser.Controller.Entities /// if set to true [reset position]. /// Task. /// - 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); + } } } -- cgit v1.2.3