using MediaBrowser.Controller.Configuration ;
using MediaBrowser.Controller.Entities.Movies ;
using MediaBrowser.Controller.Library ;
using MediaBrowser.Controller.Providers ;
using MediaBrowser.Model.Entities ;
using MediaBrowser.Model.Logging ;
using MediaBrowser.Providers.Manager ;
using System.Collections.Generic ;
using CommonIO ;
using MediaBrowser.Controller.Entities ;
namespace MediaBrowser.Providers.Movies
{
public class MovieMetadataService : MetadataService < Movie , MovieInfo >
{
protected override bool IsFullLocalMetadata ( Movie item )
{
if ( string . IsNullOrWhiteSpace ( item . Overview ) )
{
return false ;
}
if ( ! item . ProductionYear . HasValue )
{
return false ;
}
return base . IsFullLocalMetadata ( item ) ;
}
protected override void MergeData ( MetadataResult < Movie > source , MetadataResult < Movie > target , List < MetadataFields > lockedFields , bool replaceData , bool mergeMetadataSettings )
{
ProviderUtils . MergeBaseItemData ( source , target , lockedFields , replaceData , mergeMetadataSettings ) ;
var sourceItem = source . Item ;
var targetItem = target . Item ;
if ( replaceData | | string . IsNullOrEmpty ( targetItem . CollectionName ) )
{
targetItem . CollectionName = sourceItem . CollectionName ;
}
}
public MovieMetadataService ( IServerConfigurationManager serverConfigurationManager , ILogger logger , IProviderManager providerManager , IFileSystem fileSystem , IUserDataManager userDataManager , ILibraryManager libraryManager ) : base ( serverConfigurationManager , logger , providerManager , fileSystem , userDataManager , libraryManager )
{
}
}
public class TrailerMetadataService : MetadataService < Trailer , TrailerInfo >
{
protected override bool IsFullLocalMetadata ( Trailer item )
{
if ( string . IsNullOrWhiteSpace ( item . Overview ) )
{
return false ;
}
if ( ! item . ProductionYear . HasValue )
{
return false ;
}
return base . IsFullLocalMetadata ( item ) ;
}
protected override void MergeData ( MetadataResult < Trailer > source , MetadataResult < Trailer > target , List < MetadataFields > lockedFields , bool replaceData , bool mergeMetadataSettings )
{
ProviderUtils . MergeBaseItemData ( source , target , lockedFields , replaceData , mergeMetadataSettings ) ;
if ( replaceData | | target . Item . TrailerTypes . Count = = 0 )
{
target . Item . TrailerTypes = source . Item . TrailerTypes ;
}
}
public TrailerMetadataService ( IServerConfigurationManager serverConfigurationManager , ILogger logger , IProviderManager providerManager , IFileSystem fileSystem , IUserDataManager userDataManager , ILibraryManager libraryManager ) : base ( serverConfigurationManager , logger , providerManager , fileSystem , userDataManager , libraryManager )
{
}
}
}