aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Server.Implementations/Library/LibraryManager.cs
diff options
context:
space:
mode:
authorLuke <luke.pulverenti@gmail.com>2016-03-02 12:08:39 -0500
committerLuke <luke.pulverenti@gmail.com>2016-03-02 12:08:39 -0500
commit6eaf10679eef9532aab79f723770763941ddd73a (patch)
treec13a14884ac03ae0e7cb100cae787262997e72b8 /MediaBrowser.Server.Implementations/Library/LibraryManager.cs
parent3e4d64fc0bd1f159b8370340978fba6815c2ab39 (diff)
parente52eb2219b1410fa2fe2343cc4f1e26fcc0af98b (diff)
Merge pull request #1512 from MediaBrowser/dev
Dev
Diffstat (limited to 'MediaBrowser.Server.Implementations/Library/LibraryManager.cs')
-rw-r--r--MediaBrowser.Server.Implementations/Library/LibraryManager.cs23
1 files changed, 23 insertions, 0 deletions
diff --git a/MediaBrowser.Server.Implementations/Library/LibraryManager.cs b/MediaBrowser.Server.Implementations/Library/LibraryManager.cs
index 333b1fbe9..721603efe 100644
--- a/MediaBrowser.Server.Implementations/Library/LibraryManager.cs
+++ b/MediaBrowser.Server.Implementations/Library/LibraryManager.cs
@@ -788,6 +788,29 @@ namespace MediaBrowser.Server.Implementations.Library
return _userRootFolder;
}
+ public BaseItem FindByPath(string path)
+ {
+ var query = new InternalItemsQuery
+ {
+ Path = path
+ };
+
+ // Only use the database result if there's exactly one item, otherwise we run the risk of returning old data that hasn't been cleaned yet.
+ var items = GetItemIds(query).Select(GetItemById).Where(i => i != null).ToArray();
+
+ if (items.Length == 1)
+ {
+ return items[0];
+ }
+
+ if (items.Length == 0)
+ {
+ return null;
+ }
+
+ return RootFolder.FindByPath(path);
+ }
+
/// <summary>
/// Gets a Person
/// </summary>