From bfc29c13b307168db2239b763d9d4762ae6e8376 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Wed, 6 Jan 2016 17:47:32 -0500 Subject: [PATCH 1/4] override buffer size only for windows --- MediaBrowser.Server.Implementations/IO/LibraryMonitor.cs | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/MediaBrowser.Server.Implementations/IO/LibraryMonitor.cs b/MediaBrowser.Server.Implementations/IO/LibraryMonitor.cs index e107ea9f13..97f082295e 100644 --- a/MediaBrowser.Server.Implementations/IO/LibraryMonitor.cs +++ b/MediaBrowser.Server.Implementations/IO/LibraryMonitor.cs @@ -275,10 +275,14 @@ namespace MediaBrowser.Server.Implementations.IO { var newWatcher = new FileSystemWatcher(path, "*") { - IncludeSubdirectories = true, - InternalBufferSize = 32767 + IncludeSubdirectories = true }; + if (Environment.OSVersion.Platform == PlatformID.Win32NT) + { + newWatcher.InternalBufferSize = 32767; + } + newWatcher.NotifyFilter = NotifyFilters.CreationTime | NotifyFilters.DirectoryName | NotifyFilters.FileName | From 0c6edf97739d6853da243684d1dd490c5f439170 Mon Sep 17 00:00:00 2001 From: Shaun Date: Thu, 7 Jan 2016 17:21:13 +1100 Subject: [PATCH 2/4] add Not Favorite to filters --- MediaBrowser.Api/Reports/ReportsService.cs | 3 +++ MediaBrowser.Model/Querying/ItemFilter.cs | 6 +++++- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/MediaBrowser.Api/Reports/ReportsService.cs b/MediaBrowser.Api/Reports/ReportsService.cs index 6c2886f5be..cb15986f73 100644 --- a/MediaBrowser.Api/Reports/ReportsService.cs +++ b/MediaBrowser.Api/Reports/ReportsService.cs @@ -275,6 +275,9 @@ namespace MediaBrowser.Api.Reports case ItemFilter.IsFavorite: query.IsFavorite = true; break; + case ItemFilter.IsNotFavorite: + query.IsFavorite = false; + break; case ItemFilter.IsFavoriteOrLikes: query.IsFavoriteOrLiked = true; break; diff --git a/MediaBrowser.Model/Querying/ItemFilter.cs b/MediaBrowser.Model/Querying/ItemFilter.cs index 83d61ae514..3a1786a156 100644 --- a/MediaBrowser.Model/Querying/ItemFilter.cs +++ b/MediaBrowser.Model/Querying/ItemFilter.cs @@ -45,6 +45,10 @@ namespace MediaBrowser.Model.Querying /// /// The is favorite or likes /// - IsFavoriteOrLikes = 10 + IsFavoriteOrLikes = 10, + /// + /// The item is not a favorite + /// + IsNotFavorite = 11 } } From cb751893a802f7b144bd9ccab5357c9053b90d54 Mon Sep 17 00:00:00 2001 From: Shaun Date: Thu, 7 Jan 2016 18:38:40 +1100 Subject: [PATCH 3/4] if HasQueryLimit is false then set start and limit to null so it includes all results --- MediaBrowser.Api/Reports/ReportsService.cs | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/MediaBrowser.Api/Reports/ReportsService.cs b/MediaBrowser.Api/Reports/ReportsService.cs index cb15986f73..b8709a499e 100644 --- a/MediaBrowser.Api/Reports/ReportsService.cs +++ b/MediaBrowser.Api/Reports/ReportsService.cs @@ -304,8 +304,11 @@ namespace MediaBrowser.Api.Reports } } - if (request.HasQueryLimit) - query.Limit = request.Limit; + if (request.HasQueryLimit == false) + { + query.StartIndex = null; + query.Limit = null; + } return query; } From 9eaf22e54ef03e9df56fcff87f0685ddd8ecf4ac Mon Sep 17 00:00:00 2001 From: Shaun Date: Tue, 12 Jan 2016 13:22:52 +1100 Subject: [PATCH 4/4] add a new endpoint param IsFavorite and use it for reports --- MediaBrowser.Api/Reports/ReportsService.cs | 4 +--- MediaBrowser.Api/UserLibrary/BaseItemsRequest.cs | 7 +++++++ MediaBrowser.Api/UserLibrary/ItemsService.cs | 1 + MediaBrowser.Model/Querying/ItemFilter.cs | 6 +----- 4 files changed, 10 insertions(+), 8 deletions(-) diff --git a/MediaBrowser.Api/Reports/ReportsService.cs b/MediaBrowser.Api/Reports/ReportsService.cs index b8709a499e..6cbe2fd892 100644 --- a/MediaBrowser.Api/Reports/ReportsService.cs +++ b/MediaBrowser.Api/Reports/ReportsService.cs @@ -215,6 +215,7 @@ namespace MediaBrowser.Api.Reports Filter = i => ApplyAdditionalFilters(request, i, user, _libraryManager), + IsFavorite = request.IsFavorite, Limit = request.Limit, StartIndex = request.StartIndex, IsMissing = request.IsMissing, @@ -275,9 +276,6 @@ namespace MediaBrowser.Api.Reports case ItemFilter.IsFavorite: query.IsFavorite = true; break; - case ItemFilter.IsNotFavorite: - query.IsFavorite = false; - break; case ItemFilter.IsFavoriteOrLikes: query.IsFavoriteOrLiked = true; break; diff --git a/MediaBrowser.Api/UserLibrary/BaseItemsRequest.cs b/MediaBrowser.Api/UserLibrary/BaseItemsRequest.cs index 4d844e6cbe..23d4da60c3 100644 --- a/MediaBrowser.Api/UserLibrary/BaseItemsRequest.cs +++ b/MediaBrowser.Api/UserLibrary/BaseItemsRequest.cs @@ -168,6 +168,13 @@ namespace MediaBrowser.Api.UserLibrary [ApiMember(Name = "Filters", Description = "Optional. Specify additional filters to apply. This allows multiple, comma delimeted. Options: IsFolder, IsNotFolder, IsUnplayed, IsPlayed, IsFavorite, IsResumable, Likes, Dislikes", IsRequired = false, DataType = "string", ParameterType = "query", Verb = "GET", AllowMultiple = true)] public string Filters { get; set; } + /// + /// Gets or sets the Isfavorite option + /// + /// IsFavorite + [ApiMember(Name = "IsFavorite", Description = "Optional filter by items that are marked as favorite, or not.", IsRequired = false, DataType = "bool", ParameterType = "query", Verb = "GET")] + public bool? IsFavorite { get; set; } + /// /// Gets or sets the media types. /// diff --git a/MediaBrowser.Api/UserLibrary/ItemsService.cs b/MediaBrowser.Api/UserLibrary/ItemsService.cs index f1168ab7f4..97d0ad7ab0 100644 --- a/MediaBrowser.Api/UserLibrary/ItemsService.cs +++ b/MediaBrowser.Api/UserLibrary/ItemsService.cs @@ -181,6 +181,7 @@ namespace MediaBrowser.Api.UserLibrary Filter = i => ApplyAdditionalFilters(request, i, user, _libraryManager), + IsFavorite = request.IsFavorite, Limit = request.Limit, StartIndex = request.StartIndex, IsMissing = request.IsMissing, diff --git a/MediaBrowser.Model/Querying/ItemFilter.cs b/MediaBrowser.Model/Querying/ItemFilter.cs index 3a1786a156..83d61ae514 100644 --- a/MediaBrowser.Model/Querying/ItemFilter.cs +++ b/MediaBrowser.Model/Querying/ItemFilter.cs @@ -45,10 +45,6 @@ namespace MediaBrowser.Model.Querying /// /// The is favorite or likes /// - IsFavoriteOrLikes = 10, - /// - /// The item is not a favorite - /// - IsNotFavorite = 11 + IsFavoriteOrLikes = 10 } }