From 0604d180ab49e236d3aff80c7a715392ac980004 Mon Sep 17 00:00:00 2001 From: tikuf Date: Thu, 6 Mar 2014 08:46:32 +1100 Subject: Added Jump In - NameStartsWith --- MediaBrowser.Api/UserLibrary/BaseItemsByNameService.cs | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'MediaBrowser.Api/UserLibrary/BaseItemsByNameService.cs') diff --git a/MediaBrowser.Api/UserLibrary/BaseItemsByNameService.cs b/MediaBrowser.Api/UserLibrary/BaseItemsByNameService.cs index 5c2c9967e..6f8e8a909 100644 --- a/MediaBrowser.Api/UserLibrary/BaseItemsByNameService.cs +++ b/MediaBrowser.Api/UserLibrary/BaseItemsByNameService.cs @@ -174,6 +174,10 @@ namespace MediaBrowser.Api.UserLibrary { items = items.Where(i => string.Compare(request.NameStartsWithOrGreater, i.SortName, StringComparison.CurrentCultureIgnoreCase) < 1); } + if (!string.IsNullOrEmpty(request.NameStartsWith)) + { + items = items.Where(i => string.Compare(request.NameStartsWith, i.SortName.Substring(0, 1), StringComparison.CurrentCultureIgnoreCase) == 0); + } if (!string.IsNullOrEmpty(request.NameLessThan)) { @@ -312,6 +316,8 @@ namespace MediaBrowser.Api.UserLibrary [ApiMember(Name = "NameStartsWithOrGreater", Description = "Optional filter by items whose name is sorted equally or greater than a given input string.", IsRequired = false, DataType = "string", ParameterType = "query", Verb = "GET")] public string NameStartsWithOrGreater { get; set; } + [ApiMember(Name = "NameStartsWith", Description = "Optional filter by items whose name is sorted equally than a given input string.", IsRequired = false, DataType = "string", ParameterType = "query", Verb = "GET")] + public string NameStartsWith { get; set; } [ApiMember(Name = "NameLessThan", Description = "Optional filter by items whose name is sorted less than a given input string.", IsRequired = false, DataType = "string", ParameterType = "query", Verb = "GET")] public string NameLessThan { get; set; } -- cgit v1.2.3 From 52eca07c675b52205234076d395f1a1361e43658 Mon Sep 17 00:00:00 2001 From: tikuf Date: Thu, 6 Mar 2014 13:59:48 +1100 Subject: Formatting fixes --- MediaBrowser.Api/UserLibrary/BaseItemsByNameService.cs | 7 ++++--- MediaBrowser.Api/UserLibrary/ItemsService.cs | 1 + MediaBrowser.Model/Querying/ItemQuery.cs | 5 +++-- 3 files changed, 8 insertions(+), 5 deletions(-) (limited to 'MediaBrowser.Api/UserLibrary/BaseItemsByNameService.cs') diff --git a/MediaBrowser.Api/UserLibrary/BaseItemsByNameService.cs b/MediaBrowser.Api/UserLibrary/BaseItemsByNameService.cs index 6f8e8a909..12b3fd015 100644 --- a/MediaBrowser.Api/UserLibrary/BaseItemsByNameService.cs +++ b/MediaBrowser.Api/UserLibrary/BaseItemsByNameService.cs @@ -175,9 +175,9 @@ namespace MediaBrowser.Api.UserLibrary items = items.Where(i => string.Compare(request.NameStartsWithOrGreater, i.SortName, StringComparison.CurrentCultureIgnoreCase) < 1); } if (!string.IsNullOrEmpty(request.NameStartsWith)) - { - items = items.Where(i => string.Compare(request.NameStartsWith, i.SortName.Substring(0, 1), StringComparison.CurrentCultureIgnoreCase) == 0); - } + { + items = items.Where(i => string.Compare(request.NameStartsWith, i.SortName.Substring(0, 1), StringComparison.CurrentCultureIgnoreCase) == 0); + } if (!string.IsNullOrEmpty(request.NameLessThan)) { @@ -316,6 +316,7 @@ namespace MediaBrowser.Api.UserLibrary [ApiMember(Name = "NameStartsWithOrGreater", Description = "Optional filter by items whose name is sorted equally or greater than a given input string.", IsRequired = false, DataType = "string", ParameterType = "query", Verb = "GET")] public string NameStartsWithOrGreater { get; set; } + [ApiMember(Name = "NameStartsWith", Description = "Optional filter by items whose name is sorted equally than a given input string.", IsRequired = false, DataType = "string", ParameterType = "query", Verb = "GET")] public string NameStartsWith { get; set; } diff --git a/MediaBrowser.Api/UserLibrary/ItemsService.cs b/MediaBrowser.Api/UserLibrary/ItemsService.cs index 322181305..b040d3dd8 100644 --- a/MediaBrowser.Api/UserLibrary/ItemsService.cs +++ b/MediaBrowser.Api/UserLibrary/ItemsService.cs @@ -110,6 +110,7 @@ namespace MediaBrowser.Api.UserLibrary [ApiMember(Name = "NameStartsWithOrGreater", Description = "Optional filter by items whose name is sorted equally or greater than a given input string.", IsRequired = false, DataType = "string", ParameterType = "query", Verb = "GET")] public string NameStartsWithOrGreater { get; set; } + [ApiMember(Name = "NameStartsWith", Description = "Optional filter by items whose name is sorted equally than a given input string.", IsRequired = false, DataType = "string", ParameterType = "query", Verb = "GET")] public string NameStartsWith { get; set; } diff --git a/MediaBrowser.Model/Querying/ItemQuery.cs b/MediaBrowser.Model/Querying/ItemQuery.cs index 354e12579..aee1ca947 100644 --- a/MediaBrowser.Model/Querying/ItemQuery.cs +++ b/MediaBrowser.Model/Querying/ItemQuery.cs @@ -217,13 +217,14 @@ namespace MediaBrowser.Model.Querying /// /// The name starts with or greater. public string NameStartsWithOrGreater { get; set; } - /// + + /// /// Gets or sets the name starts with. /// /// The name starts with or greater. public string NameStartsWith { get; set; } - /// + /// /// Gets or sets the name starts with. /// /// The name lessthan. -- cgit v1.2.3 From d49494476770b3c0a091841bd3bbd44862fb8137 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Sun, 9 Mar 2014 18:14:44 -0400 Subject: calculate item by name counts on the fly --- MediaBrowser.Api/BaseApiService.cs | 5 +- .../DefaultTheme/DefaultThemeService.cs | 6 +- MediaBrowser.Api/Playback/BaseStreamingService.cs | 81 +++++++------- MediaBrowser.Api/SearchService.cs | 6 +- MediaBrowser.Api/UserLibrary/ArtistsService.cs | 14 ++- .../UserLibrary/BaseItemsByNameService.cs | 38 +++---- MediaBrowser.Api/UserLibrary/GameGenresService.cs | 9 +- MediaBrowser.Api/UserLibrary/GenresService.cs | 9 +- MediaBrowser.Api/UserLibrary/MusicGenresService.cs | 9 +- MediaBrowser.Api/UserLibrary/PersonsService.cs | 9 +- MediaBrowser.Api/UserLibrary/StudiosService.cs | 9 +- MediaBrowser.Api/UserLibrary/YearsService.cs | 19 +--- .../Channels/ChannelItemInfo.cs | 67 ++++++++++++ MediaBrowser.Controller/Channels/IChannel.cs | 57 ++++++++++ .../Channels/IChannelManager.cs | 12 +++ MediaBrowser.Controller/Dto/IDtoService.cs | 21 ++++ MediaBrowser.Controller/Entities/Audio/Audio.cs | 18 ++++ .../Entities/Audio/MusicArtist.cs | 11 +- .../Entities/Audio/MusicGenre.cs | 18 ++-- MediaBrowser.Controller/Entities/GameGenre.cs | 17 ++- MediaBrowser.Controller/Entities/Genre.cs | 18 ++-- MediaBrowser.Controller/Entities/IItemByName.cs | 38 ++----- MediaBrowser.Controller/Entities/Person.cs | 17 ++- MediaBrowser.Controller/Entities/Studio.cs | 18 ++-- MediaBrowser.Controller/Entities/Year.cs | 29 ++--- MediaBrowser.Controller/Library/ILibraryManager.cs | 13 --- MediaBrowser.Controller/LiveTv/ILiveTvManager.cs | 7 -- MediaBrowser.Controller/LiveTv/LiveTvChannel.cs | 15 +-- .../MediaBrowser.Controller.csproj | 3 + MediaBrowser.Model/Querying/ItemSortBy.cs | 7 -- .../Dto/DtoService.cs | 62 ++++++----- .../Library/LibraryManager.cs | 9 +- .../Library/SearchEngine.cs | 4 +- .../Library/Validators/ArtistsValidator.cs | 45 +------- .../Library/Validators/GameGenresValidator.cs | 62 ++--------- .../Library/Validators/GenresValidator.cs | 62 ++--------- .../Library/Validators/MusicGenresValidator.cs | 73 +++---------- .../Library/Validators/PeoplePostScanTask.cs | 103 ++---------------- .../Library/Validators/PeopleValidator.cs | 6 +- .../Library/Validators/StudiosValidator.cs | 65 ++---------- .../LiveTv/LiveTvManager.cs | 118 ++++++++++++++------- .../MediaBrowser.Server.Implementations.csproj | 7 -- .../Sorting/AlbumCountComparer.cs | 71 ------------- .../Sorting/EpisodeCountComparer.cs | 71 ------------- .../Sorting/MovieCountComparer.cs | 71 ------------- .../Sorting/MusicVideoCountComparer.cs | 71 ------------- .../Sorting/SeriesCountComparer.cs | 71 ------------- .../Sorting/SongCountComparer.cs | 71 ------------- .../Sorting/TrailerCountComparer.cs | 71 ------------- 49 files changed, 517 insertions(+), 1196 deletions(-) create mode 100644 MediaBrowser.Controller/Channels/ChannelItemInfo.cs create mode 100644 MediaBrowser.Controller/Channels/IChannel.cs create mode 100644 MediaBrowser.Controller/Channels/IChannelManager.cs delete mode 100644 MediaBrowser.Server.Implementations/Sorting/AlbumCountComparer.cs delete mode 100644 MediaBrowser.Server.Implementations/Sorting/EpisodeCountComparer.cs delete mode 100644 MediaBrowser.Server.Implementations/Sorting/MovieCountComparer.cs delete mode 100644 MediaBrowser.Server.Implementations/Sorting/MusicVideoCountComparer.cs delete mode 100644 MediaBrowser.Server.Implementations/Sorting/SeriesCountComparer.cs delete mode 100644 MediaBrowser.Server.Implementations/Sorting/SongCountComparer.cs delete mode 100644 MediaBrowser.Server.Implementations/Sorting/TrailerCountComparer.cs (limited to 'MediaBrowser.Api/UserLibrary/BaseItemsByNameService.cs') diff --git a/MediaBrowser.Api/BaseApiService.cs b/MediaBrowser.Api/BaseApiService.cs index 5fba539fe..08686b43a 100644 --- a/MediaBrowser.Api/BaseApiService.cs +++ b/MediaBrowser.Api/BaseApiService.cs @@ -164,7 +164,10 @@ namespace MediaBrowser.Api return name; } - return libraryManager.GetAllArtists() + return libraryManager.RootFolder.RecursiveChildren + .OfType