jellyfin/MediaBrowser.Providers/Movies/MovieExternalIds.cs

187 lines
4.3 KiB
C#
Raw Normal View History

2014-09-22 23:56:54 +02:00
using MediaBrowser.Controller.Channels;
using MediaBrowser.Controller.Entities;
2014-02-21 19:48:15 +01:00
using MediaBrowser.Controller.Entities.Movies;
using MediaBrowser.Controller.Entities.TV;
using MediaBrowser.Controller.Providers;
2014-09-22 23:56:54 +02:00
using MediaBrowser.Model.Channels;
2014-02-21 19:48:15 +01:00
using MediaBrowser.Model.Entities;
namespace MediaBrowser.Providers.Movies
{
public class MovieDbMovieExternalId : IExternalId
{
public string Name
{
get { return "TheMovieDb"; }
}
public string Key
{
get { return MetadataProviders.Tmdb.ToString(); }
}
public string UrlFormatString
{
get { return "http://www.themoviedb.org/movie/{0}"; }
}
public bool Supports(IHasProviderIds item)
{
2014-09-22 23:56:54 +02:00
var channelItem = item as ChannelVideoItem;
2014-09-28 17:27:26 +02:00
if (channelItem != null && channelItem.ContentType == ChannelMediaContentType.MovieExtra && channelItem.ExtraType == ExtraType.Trailer)
2014-09-22 23:56:54 +02:00
{
return true;
}
2014-12-03 04:13:03 +01:00
return item is Movie || item is MusicVideo;
2014-02-21 19:48:15 +01:00
}
}
public class MovieDbSeriesExternalId : IExternalId
{
public string Name
{
get { return "TheMovieDb"; }
}
public string Key
{
get { return MetadataProviders.Tmdb.ToString(); }
}
public string UrlFormatString
{
get { return "http://www.themoviedb.org/tv/{0}"; }
}
public bool Supports(IHasProviderIds item)
{
return item is Series;
}
}
2014-02-21 22:44:10 +01:00
public class MovieDbMovieCollectionExternalId : IExternalId
{
public string Name
{
get { return "TheMovieDb Collection"; }
}
public string Key
{
get { return MetadataProviders.TmdbCollection.ToString(); }
}
public string UrlFormatString
{
get { return "http://www.themoviedb.org/collection/{0}"; }
}
public bool Supports(IHasProviderIds item)
{
2014-12-03 04:13:03 +01:00
return item is Movie || item is MusicVideo;
2014-02-21 22:44:10 +01:00
}
}
2014-02-21 19:48:15 +01:00
public class MovieDbPersonExternalId : IExternalId
{
public string Name
{
get { return "TheMovieDb"; }
}
public string Key
{
get { return MetadataProviders.Tmdb.ToString(); }
}
public string UrlFormatString
{
get { return "http://www.themoviedb.org/person/{0}"; }
}
public bool Supports(IHasProviderIds item)
{
return item is Person;
}
}
public class MovieDbCollectionExternalId : IExternalId
{
public string Name
{
get { return "TheMovieDb"; }
}
public string Key
{
get { return MetadataProviders.Tmdb.ToString(); }
}
public string UrlFormatString
{
get { return "http://www.themoviedb.org/collection/{0}"; }
}
public bool Supports(IHasProviderIds item)
{
return item is BoxSet;
}
}
public class ImdbExternalId : IExternalId
{
public string Name
{
get { return "IMDb"; }
}
public string Key
{
get { return MetadataProviders.Imdb.ToString(); }
}
public string UrlFormatString
{
get { return "http://www.imdb.com/title/{0}"; }
}
public bool Supports(IHasProviderIds item)
{
2014-09-22 23:56:54 +02:00
var channelItem = item as ChannelVideoItem;
2014-09-28 17:27:26 +02:00
if (channelItem != null && channelItem.ContentType == ChannelMediaContentType.MovieExtra && channelItem.ExtraType == ExtraType.Trailer)
2014-09-22 23:56:54 +02:00
{
return true;
}
2014-12-03 04:13:03 +01:00
return item is Movie || item is MusicVideo || item is Series || item is Episode;
2014-02-21 19:48:15 +01:00
}
}
public class ImdbPersonExternalId : IExternalId
{
public string Name
{
get { return "IMDb"; }
}
public string Key
{
get { return MetadataProviders.Imdb.ToString(); }
}
public string UrlFormatString
{
get { return "http://www.imdb.com/name/{0}"; }
}
public bool Supports(IHasProviderIds item)
{
return item is Person;
}
}
}