Added an adult video entity
This commit is contained in:
parent
27c644e6c8
commit
2c22db8b8d
|
@ -204,7 +204,8 @@ namespace MediaBrowser.Api
|
|||
SeriesCount = items.OfType<Series>().Count(),
|
||||
SongCount = items.OfType<Audio>().Count(),
|
||||
TrailerCount = items.OfType<Trailer>().Count(),
|
||||
MusicVideoCount = items.OfType<MusicVideo>().Count()
|
||||
MusicVideoCount = items.OfType<MusicVideo>().Count(),
|
||||
AdultVideoCount = items.OfType<AdultVideo>().Count()
|
||||
};
|
||||
|
||||
return ToOptimizedResult(counts);
|
||||
|
|
|
@ -169,7 +169,9 @@ namespace MediaBrowser.Api.UserLibrary
|
|||
|
||||
SeriesCount = items.OfType<Series>().Count(),
|
||||
|
||||
GameCount = items.OfType<Game>().Count()
|
||||
GameCount = items.OfType<Game>().Count(),
|
||||
|
||||
AdultVideoCount = items.OfType<AdultVideo>().Count()
|
||||
};
|
||||
|
||||
return ToOptimizedResult(counts);
|
||||
|
|
|
@ -168,7 +168,9 @@ namespace MediaBrowser.Api.UserLibrary
|
|||
|
||||
EpisodeCount = items.OfType<Episode>().Count(),
|
||||
|
||||
MusicVideoCount = items.OfType<MusicVideo>().Count()
|
||||
MusicVideoCount = items.OfType<MusicVideo>().Count(),
|
||||
|
||||
AdultVideoCount = items.OfType<AdultVideo>().Count()
|
||||
};
|
||||
|
||||
return ToOptimizedResult(counts);
|
||||
|
|
|
@ -138,7 +138,9 @@ namespace MediaBrowser.Api.UserLibrary
|
|||
|
||||
AlbumCount = items.OfType<MusicAlbum>().Count(),
|
||||
|
||||
MusicVideoCount = items.OfType<MusicVideo>().Count()
|
||||
MusicVideoCount = items.OfType<MusicVideo>().Count(),
|
||||
|
||||
AdultVideoCount = items.OfType<AdultVideo>().Count()
|
||||
};
|
||||
|
||||
return ToOptimizedResult(counts);
|
||||
|
|
7
MediaBrowser.Controller/Entities/AdultVideo.cs
Normal file
7
MediaBrowser.Controller/Entities/AdultVideo.cs
Normal file
|
@ -0,0 +1,7 @@
|
|||
|
||||
namespace MediaBrowser.Controller.Entities
|
||||
{
|
||||
public class AdultVideo : Video
|
||||
{
|
||||
}
|
||||
}
|
|
@ -21,19 +21,6 @@ namespace MediaBrowser.Controller.Entities.Movies
|
|||
SpecialFeatureIds = new List<Guid>();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Should be overridden to return the proper folder where metadata lives
|
||||
/// </summary>
|
||||
/// <value>The meta location.</value>
|
||||
[IgnoreDataMember]
|
||||
public override string MetaLocation
|
||||
{
|
||||
get
|
||||
{
|
||||
return VideoType == VideoType.VideoFile || VideoType == VideoType.Iso || IsMultiPart ? System.IO.Path.GetDirectoryName(Path) : Path;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets the user data key.
|
||||
/// </summary>
|
||||
|
@ -43,18 +30,6 @@ namespace MediaBrowser.Controller.Entities.Movies
|
|||
return this.GetProviderId(MetadataProviders.Tmdb) ?? this.GetProviderId(MetadataProviders.Imdb) ?? base.GetUserDataKey();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Needed because the resolver stops at the movie folder and we find the video inside.
|
||||
/// </summary>
|
||||
/// <value><c>true</c> if [use parent path to create resolve args]; otherwise, <c>false</c>.</value>
|
||||
protected override bool UseParentPathToCreateResolveArgs
|
||||
{
|
||||
get
|
||||
{
|
||||
return VideoType == VideoType.VideoFile || VideoType == VideoType.Iso || IsMultiPart;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Overrides the base implementation to refresh metadata for special features
|
||||
/// </summary>
|
||||
|
|
|
@ -1,6 +1,5 @@
|
|||
using MediaBrowser.Model.Entities;
|
||||
using System;
|
||||
using System.Runtime.Serialization;
|
||||
|
||||
namespace MediaBrowser.Controller.Entities
|
||||
{
|
||||
|
@ -17,19 +16,6 @@ namespace MediaBrowser.Controller.Entities
|
|||
/// </summary>
|
||||
/// <value>The album.</value>
|
||||
public string Album { get; set; }
|
||||
|
||||
/// <summary>
|
||||
/// Should be overridden to return the proper folder where metadata lives
|
||||
/// </summary>
|
||||
/// <value>The meta location.</value>
|
||||
[IgnoreDataMember]
|
||||
public override string MetaLocation
|
||||
{
|
||||
get
|
||||
{
|
||||
return VideoType == VideoType.VideoFile || VideoType == VideoType.Iso || IsMultiPart ? System.IO.Path.GetDirectoryName(Path) : Path;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Determines whether the specified name has artist.
|
||||
|
@ -49,17 +35,5 @@ namespace MediaBrowser.Controller.Entities
|
|||
{
|
||||
return this.GetProviderId(MetadataProviders.Tmdb) ?? this.GetProviderId(MetadataProviders.Imdb) ?? base.GetUserDataKey();
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Needed because the resolver stops at the movie folder and we find the video inside.
|
||||
/// </summary>
|
||||
/// <value><c>true</c> if [use parent path to create resolve args]; otherwise, <c>false</c>.</value>
|
||||
protected override bool UseParentPathToCreateResolveArgs
|
||||
{
|
||||
get
|
||||
{
|
||||
return VideoType == VideoType.VideoFile || VideoType == VideoType.Iso || IsMultiPart;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -65,6 +65,31 @@ namespace MediaBrowser.Controller.Entities
|
|||
return GetPlayableStreamFiles(Path);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Should be overridden to return the proper folder where metadata lives
|
||||
/// </summary>
|
||||
/// <value>The meta location.</value>
|
||||
[IgnoreDataMember]
|
||||
public override string MetaLocation
|
||||
{
|
||||
get
|
||||
{
|
||||
return VideoType == VideoType.VideoFile || VideoType == VideoType.Iso || IsMultiPart ? System.IO.Path.GetDirectoryName(Path) : Path;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Needed because the resolver stops at the movie folder and we find the video inside.
|
||||
/// </summary>
|
||||
/// <value><c>true</c> if [use parent path to create resolve args]; otherwise, <c>false</c>.</value>
|
||||
protected override bool UseParentPathToCreateResolveArgs
|
||||
{
|
||||
get
|
||||
{
|
||||
return VideoType == VideoType.VideoFile || VideoType == VideoType.Iso || IsMultiPart;
|
||||
}
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Gets the playable stream files.
|
||||
/// </summary>
|
||||
|
|
|
@ -70,6 +70,7 @@
|
|||
<Compile Include="..\SharedVersion.cs">
|
||||
<Link>Properties\SharedVersion.cs</Link>
|
||||
</Compile>
|
||||
<Compile Include="Entities\AdultVideo.cs" />
|
||||
<Compile Include="Notifications\Configuration\IServerConfigurationManager.cs" />
|
||||
<Compile Include="Dto\SessionInfoDtoBuilder.cs" />
|
||||
<Compile Include="Entities\Audio\MusicAlbumDisc.cs" />
|
||||
|
|
|
@ -11,6 +11,7 @@ namespace MediaBrowser.Model.Dto
|
|||
/// </summary>
|
||||
/// <value>The total count.</value>
|
||||
public int TotalCount { get; set; }
|
||||
public int AdultVideoCount { get; set; }
|
||||
/// <summary>
|
||||
/// Gets or sets the movie count.
|
||||
/// </summary>
|
||||
|
|
|
@ -6,6 +6,7 @@ namespace MediaBrowser.Model.Dto
|
|||
/// </summary>
|
||||
public class ItemCounts
|
||||
{
|
||||
public int AdultVideoCount { get; set; }
|
||||
/// <summary>
|
||||
/// Gets or sets the movie count.
|
||||
/// </summary>
|
||||
|
|
|
@ -16,5 +16,7 @@ namespace MediaBrowser.Model.Entities
|
|||
public const string HomeVideos = "homevideos";
|
||||
|
||||
public const string BoxSets = "boxsets";
|
||||
|
||||
public const string AdultVideos = "adultvideos";
|
||||
}
|
||||
}
|
||||
|
|
|
@ -353,7 +353,7 @@ namespace MediaBrowser.Providers.MediaInfo
|
|||
/// <param name="video">The video.</param>
|
||||
private void AddExternalSubtitles(Video video)
|
||||
{
|
||||
var useParent = (video.VideoType == VideoType.VideoFile || video.VideoType == VideoType.Iso) && !(video is Movie) && !(video is MusicVideo);
|
||||
var useParent = !video.ResolveArgs.IsDirectory;
|
||||
|
||||
if (useParent && video.Parent == null)
|
||||
{
|
||||
|
|
|
@ -47,7 +47,7 @@ namespace MediaBrowser.Providers.Savers
|
|||
return !trailer.IsLocalTrailer;
|
||||
}
|
||||
|
||||
return item is Movie || item is MusicVideo;
|
||||
return item is Movie || item is MusicVideo || item is AdultVideo;
|
||||
}
|
||||
|
||||
return false;
|
||||
|
|
|
@ -89,6 +89,12 @@ namespace MediaBrowser.Server.Implementations.Library.Resolvers.Movies
|
|||
return FindMovie<MusicVideo>(args.Path, args.FileSystemChildren);
|
||||
}
|
||||
|
||||
if (args.Path.IndexOf("[adultvideos]", StringComparison.OrdinalIgnoreCase) != -1 ||
|
||||
string.Equals(collectionType, CollectionType.AdultVideos, StringComparison.OrdinalIgnoreCase))
|
||||
{
|
||||
return FindMovie<AdultVideo>(args.Path, args.FileSystemChildren);
|
||||
}
|
||||
|
||||
if (!string.IsNullOrEmpty(collectionType) &&
|
||||
!string.Equals(collectionType, CollectionType.Movies, StringComparison.OrdinalIgnoreCase))
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue
Block a user