mirror of https://github.com/jellyfin/jellyfin.git
add more channel feature reporting
This commit is contained in:
parent
680ffeebf7
commit
ce8c5a1a3c
|
@ -1,6 +1,5 @@
|
||||||
using MediaBrowser.Controller.Entities;
|
using MediaBrowser.Controller.Entities;
|
||||||
using MediaBrowser.Controller.Providers;
|
using MediaBrowser.Controller.Providers;
|
||||||
using MediaBrowser.Model.Channels;
|
|
||||||
using MediaBrowser.Model.Entities;
|
using MediaBrowser.Model.Entities;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Threading;
|
using System.Threading;
|
||||||
|
@ -32,7 +31,7 @@ namespace MediaBrowser.Controller.Channels
|
||||||
/// Gets the channel information.
|
/// Gets the channel information.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <returns>ChannelFeatures.</returns>
|
/// <returns>ChannelFeatures.</returns>
|
||||||
ChannelFeatures GetChannelFeatures();
|
InternalChannelFeatures GetChannelFeatures();
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Determines whether [is enabled for] [the specified user].
|
/// Determines whether [is enabled for] [the specified user].
|
||||||
|
|
|
@ -0,0 +1,50 @@
|
||||||
|
using MediaBrowser.Model.Channels;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
|
||||||
|
namespace MediaBrowser.Controller.Channels
|
||||||
|
{
|
||||||
|
public class InternalChannelFeatures
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or sets a value indicating whether this instance can search.
|
||||||
|
/// </summary>
|
||||||
|
/// <value><c>true</c> if this instance can search; otherwise, <c>false</c>.</value>
|
||||||
|
public bool CanSearch { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or sets the media types.
|
||||||
|
/// </summary>
|
||||||
|
/// <value>The media types.</value>
|
||||||
|
public List<ChannelMediaType> MediaTypes { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or sets the content types.
|
||||||
|
/// </summary>
|
||||||
|
/// <value>The content types.</value>
|
||||||
|
public List<ChannelMediaContentType> ContentTypes { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Represents the maximum number of records the channel allows retrieving at a time
|
||||||
|
/// </summary>
|
||||||
|
public int? MaxPageSize { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Gets or sets the default sort orders.
|
||||||
|
/// </summary>
|
||||||
|
/// <value>The default sort orders.</value>
|
||||||
|
public List<ChannelItemSortField> DefaultSortFields { get; set; }
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Indicates if a sort ascending/descending toggle is supported or not.
|
||||||
|
/// </summary>
|
||||||
|
public bool SupportsSortOrderToggle { get; set; }
|
||||||
|
|
||||||
|
public InternalChannelFeatures()
|
||||||
|
{
|
||||||
|
MediaTypes = new List<ChannelMediaType>();
|
||||||
|
ContentTypes = new List<ChannelMediaContentType>();
|
||||||
|
|
||||||
|
DefaultSortFields = new List<ChannelItemSortField>();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -1,4 +1,5 @@
|
||||||
using MediaBrowser.Controller.Entities;
|
using MediaBrowser.Controller.Entities;
|
||||||
|
using MediaBrowser.Model.Channels;
|
||||||
|
|
||||||
namespace MediaBrowser.Controller.Channels
|
namespace MediaBrowser.Controller.Channels
|
||||||
{
|
{
|
||||||
|
@ -11,15 +12,9 @@ namespace MediaBrowser.Controller.Channels
|
||||||
public int? StartIndex { get; set; }
|
public int? StartIndex { get; set; }
|
||||||
|
|
||||||
public int? Limit { get; set; }
|
public int? Limit { get; set; }
|
||||||
|
|
||||||
|
public ChannelItemSortField? SortBy { get; set; }
|
||||||
|
|
||||||
|
public bool SortDescending { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
public class InternalAllChannelItemsQuery
|
|
||||||
{
|
|
||||||
public User User { get; set; }
|
|
||||||
|
|
||||||
public int? StartIndex { get; set; }
|
|
||||||
|
|
||||||
public int? Limit { get; set; }
|
|
||||||
}
|
|
||||||
|
|
||||||
}
|
}
|
|
@ -82,6 +82,7 @@
|
||||||
<Compile Include="Channels\ChannelVideoItem.cs" />
|
<Compile Include="Channels\ChannelVideoItem.cs" />
|
||||||
<Compile Include="Channels\Channel.cs" />
|
<Compile Include="Channels\Channel.cs" />
|
||||||
<Compile Include="Channels\IChannelMediaItem.cs" />
|
<Compile Include="Channels\IChannelMediaItem.cs" />
|
||||||
|
<Compile Include="Channels\InternalChannelFeatures.cs" />
|
||||||
<Compile Include="Channels\InternalChannelItemQuery.cs" />
|
<Compile Include="Channels\InternalChannelItemQuery.cs" />
|
||||||
<Compile Include="Chapters\ChapterSearchRequest.cs" />
|
<Compile Include="Chapters\ChapterSearchRequest.cs" />
|
||||||
<Compile Include="Chapters\IChapterProvider.cs" />
|
<Compile Include="Chapters\IChapterProvider.cs" />
|
||||||
|
|
|
@ -39,10 +39,10 @@ namespace MediaBrowser.Model.Channels
|
||||||
public bool SupportsSortOrderToggle { get; set; }
|
public bool SupportsSortOrderToggle { get; set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets or sets a value indicating whether the channel content is just a single media list.
|
/// Gets or sets a value indicating whether this instance can filter.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
/// <value><c>true</c> if this instance is single media list; otherwise, <c>false</c>.</value>
|
/// <value><c>true</c> if this instance can filter; otherwise, <c>false</c>.</value>
|
||||||
public bool IsSingleMediaList { get; set; }
|
public bool CanFilter { get; set; }
|
||||||
|
|
||||||
public ChannelFeatures()
|
public ChannelFeatures()
|
||||||
{
|
{
|
||||||
|
@ -57,9 +57,10 @@ namespace MediaBrowser.Model.Channels
|
||||||
{
|
{
|
||||||
Name = 0,
|
Name = 0,
|
||||||
CommunityRating = 1,
|
CommunityRating = 1,
|
||||||
ReleaseDate = 2,
|
ContentReleaseDate = 2,
|
||||||
Runtime = 3,
|
DateAdded = 3,
|
||||||
CommunityMostWatched = 4,
|
Runtime = 4,
|
||||||
UserPlayCount = 5
|
CommunityMostWatched = 5,
|
||||||
|
UserPlayCount = 6
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -243,7 +243,21 @@ namespace MediaBrowser.Server.Implementations.Channels
|
||||||
|
|
||||||
var channelProvider = GetChannelProvider(channel);
|
var channelProvider = GetChannelProvider(channel);
|
||||||
|
|
||||||
return channelProvider.GetChannelFeatures();
|
return GetChannelFeaturesDto(channelProvider.GetChannelFeatures());
|
||||||
|
}
|
||||||
|
|
||||||
|
public ChannelFeatures GetChannelFeaturesDto(InternalChannelFeatures features)
|
||||||
|
{
|
||||||
|
return new ChannelFeatures
|
||||||
|
{
|
||||||
|
CanFilter = !features.MaxPageSize.HasValue,
|
||||||
|
CanSearch = features.CanSearch,
|
||||||
|
ContentTypes = features.ContentTypes,
|
||||||
|
DefaultSortFields = features.DefaultSortFields,
|
||||||
|
MaxPageSize = features.MaxPageSize,
|
||||||
|
MediaTypes = features.MediaTypes,
|
||||||
|
SupportsSortOrderToggle = features.SupportsSortOrderToggle
|
||||||
|
};
|
||||||
}
|
}
|
||||||
|
|
||||||
private Guid GetInternalChannelId(string name)
|
private Guid GetInternalChannelId(string name)
|
||||||
|
|
|
@ -787,5 +787,7 @@
|
||||||
"HeaderMetadataManager": "Metadata Manager",
|
"HeaderMetadataManager": "Metadata Manager",
|
||||||
"HeaderPreferences": "Preferences",
|
"HeaderPreferences": "Preferences",
|
||||||
"MessageLoadingChannels": "Loading channel content...",
|
"MessageLoadingChannels": "Loading channel content...",
|
||||||
"ButtonMarkRead": "Mark Read"
|
"ButtonMarkRead": "Mark Read",
|
||||||
|
"OptionDefaultSort": "Default",
|
||||||
|
"OptionCommunityMostWatchedSort": "Most Watched"
|
||||||
}
|
}
|
|
@ -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.382</version>
|
<version>3.0.384</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.382" />
|
<dependency id="MediaBrowser.Common" version="3.0.384" />
|
||||||
<dependency id="NLog" version="2.1.0" />
|
<dependency id="NLog" version="2.1.0" />
|
||||||
<dependency id="SimpleInjector" version="2.5.0" />
|
<dependency id="SimpleInjector" version="2.5.0" />
|
||||||
<dependency id="sharpcompress" version="0.10.2" />
|
<dependency id="sharpcompress" version="0.10.2" />
|
||||||
|
|
|
@ -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.382</version>
|
<version>3.0.384</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,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.382</version>
|
<version>3.0.384</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.382" />
|
<dependency id="MediaBrowser.Common" version="3.0.384" />
|
||||||
</dependencies>
|
</dependencies>
|
||||||
</metadata>
|
</metadata>
|
||||||
<files>
|
<files>
|
||||||
|
|
Loading…
Reference in New Issue