Added an adult video entity

pull/702/head
Luke Pulverenti 11 years ago
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);

@ -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…
Cancel
Save