فهرست منبع

updated nuget

Luke Pulverenti 11 سال پیش
والد
کامیت
7da8345078

+ 9 - 0
MediaBrowser.Api/UserLibrary/BaseItemsByNameService.cs

@@ -147,6 +147,15 @@ namespace MediaBrowser.Api.UserLibrary
                 items = items.Where(i => GetLibraryItems(i, libraryItems).All(l => l.IsUnplayed(user)));
                 items = items.Where(i => GetLibraryItems(i, libraryItems).All(l => l.IsUnplayed(user)));
             }
             }
 
 
+            if (request.IsPlayed.HasValue)
+            {
+                var val = request.IsPlayed.Value;
+
+                var libraryItems = user.RootFolder.GetRecursiveChildren(user).ToList();
+
+                items = items.Where(i => GetLibraryItems(i, libraryItems).All(l => l.IsPlayed(user) == val));
+            }
+
             return items;
             return items;
         }
         }
 
 

+ 3 - 0
MediaBrowser.Api/UserLibrary/BaseItemsRequest.cs

@@ -93,6 +93,9 @@ namespace MediaBrowser.Api.UserLibrary
         [ApiMember(Name = "SortBy", Description = "Optional. Specify one or more sort orders, comma delimeted. Options: Album, AlbumArtist, Artist, Budget, CommunityRating, CriticRating, DateCreated, DatePlayed, PlayCount, PremiereDate, ProductionYear, SortName, Random, Revenue, Runtime", IsRequired = false, DataType = "string", ParameterType = "query", Verb = "GET", AllowMultiple = true)]
         [ApiMember(Name = "SortBy", Description = "Optional. Specify one or more sort orders, comma delimeted. Options: Album, AlbumArtist, Artist, Budget, CommunityRating, CriticRating, DateCreated, DatePlayed, PlayCount, PremiereDate, ProductionYear, SortName, Random, Revenue, Runtime", IsRequired = false, DataType = "string", ParameterType = "query", Verb = "GET", AllowMultiple = true)]
         public string SortBy { get; set; }
         public string SortBy { get; set; }
 
 
+        [ApiMember(Name = "IsPlayed", Description = "Optional filter by items that are played, or not.", IsRequired = false, DataType = "bool", ParameterType = "query", Verb = "GET")]
+        public bool? IsPlayed { get; set; }
+
         /// <summary>
         /// <summary>
         /// Gets the filters.
         /// Gets the filters.
         /// </summary>
         /// </summary>

+ 18 - 1
MediaBrowser.Api/UserLibrary/ItemsService.cs

@@ -216,6 +216,9 @@ namespace MediaBrowser.Api.UserLibrary
 
 
         [ApiMember(Name = "IsYearMismatched", Description = "Optional filter by items that are potentially misidentified.", IsRequired = false, DataType = "bool", ParameterType = "query", Verb = "GET")]
         [ApiMember(Name = "IsYearMismatched", Description = "Optional filter by items that are potentially misidentified.", IsRequired = false, DataType = "bool", ParameterType = "query", Verb = "GET")]
         public bool? IsYearMismatched { get; set; }
         public bool? IsYearMismatched { get; set; }
+
+        [ApiMember(Name = "IsInBoxSet", Description = "Optional filter by items that are in boxsets, or not.", IsRequired = false, DataType = "bool", ParameterType = "query", Verb = "GET")]
+        public bool? IsInBoxSet { get; set; }
     }
     }
 
 
     /// <summary>
     /// <summary>
@@ -969,6 +972,8 @@ namespace MediaBrowser.Api.UserLibrary
 
 
             if (request.HasParentalRating.HasValue)
             if (request.HasParentalRating.HasValue)
             {
             {
+                var val = request.HasParentalRating.Value;
+
                 items = items.Where(i =>
                 items = items.Where(i =>
                 {
                 {
                     var rating = i.CustomRating;
                     var rating = i.CustomRating;
@@ -978,7 +983,7 @@ namespace MediaBrowser.Api.UserLibrary
                         rating = i.OfficialRating;
                         rating = i.OfficialRating;
                     }
                     }
 
 
-                    if (request.HasParentalRating.Value)
+                    if (val)
                     {
                     {
                         return !string.IsNullOrEmpty(rating);
                         return !string.IsNullOrEmpty(rating);
                     }
                     }
@@ -993,6 +998,18 @@ namespace MediaBrowser.Api.UserLibrary
                 items = items.OfType<Video>().Where(i => i.IsHD == val);
                 items = items.OfType<Video>().Where(i => i.IsHD == val);
             }
             }
 
 
+            if (request.IsInBoxSet.HasValue)
+            {
+                var val = request.IsHD.Value;
+                items = items.Where(i => i.Parents.OfType<BoxSet>().Any() == val);
+            }
+
+            if (request.IsPlayed.HasValue)
+            {
+                var val = request.IsPlayed.Value;
+                items = items.Where(i => i.IsPlayed(user) == val);
+            }
+
             if (request.ParentIndexNumber.HasValue)
             if (request.ParentIndexNumber.HasValue)
             {
             {
                 var filterValue = request.ParentIndexNumber.Value;
                 var filterValue = request.ParentIndexNumber.Value;

+ 4 - 0
MediaBrowser.Model/Querying/ItemQuery.cs

@@ -249,6 +249,10 @@ namespace MediaBrowser.Model.Querying
         public bool? IsUnaired { get; set; }
         public bool? IsUnaired { get; set; }
 
 
         public bool? IsVirtualUnaired { get; set; }
         public bool? IsVirtualUnaired { get; set; }
+
+        public bool? IsInBoxSet { get; set; }
+
+        public bool? IsPlayed { get; set; }
         
         
         /// <summary>
         /// <summary>
         /// Gets or sets the exclude location types.
         /// Gets or sets the exclude location types.

+ 6 - 0
MediaBrowser.Model/Querying/ItemsByNameQuery.cs

@@ -91,6 +91,12 @@ namespace MediaBrowser.Model.Querying
         /// <value>The name less than.</value>
         /// <value>The name less than.</value>
         public string NameLessThan { get; set; }
         public string NameLessThan { get; set; }
 
 
+        /// <summary>
+        /// Gets or sets a value indicating whether this instance is played.
+        /// </summary>
+        /// <value><c>null</c> if [is played] contains no value, <c>true</c> if [is played]; otherwise, <c>false</c>.</value>
+        public bool? IsPlayed { get; set; }
+        
         /// <summary>
         /// <summary>
         /// Initializes a new instance of the <see cref="ItemsByNameQuery" /> class.
         /// Initializes a new instance of the <see cref="ItemsByNameQuery" /> class.
         /// </summary>
         /// </summary>

+ 2 - 2
Nuget/MediaBrowser.Common.Internal.nuspec

@@ -2,7 +2,7 @@
 <package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
 <package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
     <metadata>
     <metadata>
         <id>MediaBrowser.Common.Internal</id>
         <id>MediaBrowser.Common.Internal</id>
-        <version>3.0.305</version>
+        <version>3.0.306</version>
         <title>MediaBrowser.Common.Internal</title>
         <title>MediaBrowser.Common.Internal</title>
         <authors>Luke</authors>
         <authors>Luke</authors>
         <owners>ebr,Luke,scottisafool</owners>
         <owners>ebr,Luke,scottisafool</owners>
@@ -12,7 +12,7 @@
         <description>Contains common components shared by Media Browser Theater and Media Browser Server. Not intended for plugin developer consumption.</description>
         <description>Contains common components shared by Media Browser Theater and Media Browser Server. Not intended for plugin developer consumption.</description>
         <copyright>Copyright © Media Browser 2013</copyright>
         <copyright>Copyright © Media Browser 2013</copyright>
         <dependencies>
         <dependencies>
-            <dependency id="MediaBrowser.Common" version="3.0.305" />
+            <dependency id="MediaBrowser.Common" version="3.0.306" />
             <dependency id="NLog" version="2.1.0" />
             <dependency id="NLog" version="2.1.0" />
             <dependency id="SimpleInjector" version="2.4.0" />
             <dependency id="SimpleInjector" version="2.4.0" />
             <dependency id="sharpcompress" version="0.10.2" />
             <dependency id="sharpcompress" version="0.10.2" />

+ 1 - 1
Nuget/MediaBrowser.Common.nuspec

@@ -2,7 +2,7 @@
 <package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
 <package xmlns="http://schemas.microsoft.com/packaging/2011/08/nuspec.xsd">
     <metadata>
     <metadata>
         <id>MediaBrowser.Common</id>
         <id>MediaBrowser.Common</id>
-        <version>3.0.305</version>
+        <version>3.0.306</version>
         <title>MediaBrowser.Common</title>
         <title>MediaBrowser.Common</title>
         <authors>Media Browser Team</authors>
         <authors>Media Browser Team</authors>
         <owners>ebr,Luke,scottisafool</owners>
         <owners>ebr,Luke,scottisafool</owners>

+ 2 - 2
Nuget/MediaBrowser.Server.Core.nuspec

@@ -2,7 +2,7 @@
 <package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
 <package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
     <metadata>
     <metadata>
         <id>MediaBrowser.Server.Core</id>
         <id>MediaBrowser.Server.Core</id>
-        <version>3.0.305</version>
+        <version>3.0.306</version>
         <title>Media Browser.Server.Core</title>
         <title>Media Browser.Server.Core</title>
         <authors>Media Browser Team</authors>
         <authors>Media Browser Team</authors>
         <owners>ebr,Luke,scottisafool</owners>
         <owners>ebr,Luke,scottisafool</owners>
@@ -12,7 +12,7 @@
         <description>Contains core components required to build plugins for Media Browser Server.</description>
         <description>Contains core components required to build plugins for Media Browser Server.</description>
         <copyright>Copyright © Media Browser 2013</copyright>
         <copyright>Copyright © Media Browser 2013</copyright>
         <dependencies>
         <dependencies>
-            <dependency id="MediaBrowser.Common" version="3.0.305" />
+            <dependency id="MediaBrowser.Common" version="3.0.306" />
         </dependencies>
         </dependencies>
     </metadata>
     </metadata>
     <files>
     <files>