From 685f8ad1f0ab74f73cfdb5608b8241d043f8fb25 Mon Sep 17 00:00:00 2001 From: dkanada Date: Sun, 31 May 2020 15:23:09 +0900 Subject: move tmdb to plugin folder --- .../Plugins/Tmdb/BoxSets/TmdbBoxSetExternalId.cs | 25 + .../Tmdb/BoxSets/TmdbBoxSetImageProvider.cs | 160 ++++++ .../Plugins/Tmdb/BoxSets/TmdbBoxSetProvider.cs | 287 +++++++++++ .../Tmdb/Models/Collections/CollectionImages.cs | 11 + .../Tmdb/Models/Collections/CollectionResult.cs | 15 + .../Plugins/Tmdb/Models/Collections/Part.cs | 11 + .../Plugins/Tmdb/Models/General/Backdrop.cs | 13 + .../Plugins/Tmdb/Models/General/Crew.cs | 12 + .../Plugins/Tmdb/Models/General/ExternalIds.cs | 11 + .../Plugins/Tmdb/Models/General/Genre.cs | 8 + .../Plugins/Tmdb/Models/General/Images.cs | 10 + .../Plugins/Tmdb/Models/General/Keyword.cs | 8 + .../Plugins/Tmdb/Models/General/Keywords.cs | 9 + .../Plugins/Tmdb/Models/General/Poster.cs | 13 + .../Plugins/Tmdb/Models/General/Profile.cs | 11 + .../Plugins/Tmdb/Models/General/Still.cs | 14 + .../Plugins/Tmdb/Models/General/StillImages.cs | 9 + .../Plugins/Tmdb/Models/General/Video.cs | 14 + .../Plugins/Tmdb/Models/General/Videos.cs | 9 + .../Tmdb/Models/Movies/BelongsToCollection.cs | 10 + .../Plugins/Tmdb/Models/Movies/Cast.cs | 12 + .../Plugins/Tmdb/Models/Movies/Casts.cs | 11 + .../Plugins/Tmdb/Models/Movies/Country.cs | 11 + .../Plugins/Tmdb/Models/Movies/MovieResult.cs | 49 ++ .../Tmdb/Models/Movies/ProductionCompany.cs | 8 + .../Tmdb/Models/Movies/ProductionCountry.cs | 8 + .../Plugins/Tmdb/Models/Movies/Releases.cs | 9 + .../Plugins/Tmdb/Models/Movies/SpokenLanguage.cs | 8 + .../Plugins/Tmdb/Models/Movies/Trailers.cs | 9 + .../Plugins/Tmdb/Models/Movies/Youtube.cs | 9 + .../Plugins/Tmdb/Models/People/PersonImages.cs | 10 + .../Plugins/Tmdb/Models/People/PersonResult.cs | 23 + .../Tmdb/Models/Search/ExternalIdLookupResult.cs | 9 + .../Plugins/Tmdb/Models/Search/MovieResult.cs | 65 +++ .../Tmdb/Models/Search/PersonSearchResult.cs | 29 ++ .../Plugins/Tmdb/Models/Search/TmdbSearchResult.cs | 31 ++ .../Plugins/Tmdb/Models/Search/TvResult.cs | 15 + .../Plugins/Tmdb/Models/TV/Cast.cs | 12 + .../Plugins/Tmdb/Models/TV/ContentRating.cs | 8 + .../Plugins/Tmdb/Models/TV/ContentRatings.cs | 9 + .../Plugins/Tmdb/Models/TV/CreatedBy.cs | 9 + .../Plugins/Tmdb/Models/TV/Credits.cs | 11 + .../Plugins/Tmdb/Models/TV/Episode.cs | 14 + .../Plugins/Tmdb/Models/TV/EpisodeCredits.cs | 12 + .../Plugins/Tmdb/Models/TV/EpisodeResult.cs | 23 + .../Plugins/Tmdb/Models/TV/GuestStar.cs | 12 + .../Plugins/Tmdb/Models/TV/Network.cs | 8 + .../Plugins/Tmdb/Models/TV/Season.cs | 11 + .../Plugins/Tmdb/Models/TV/SeasonImages.cs | 10 + .../Plugins/Tmdb/Models/TV/SeasonResult.cs | 21 + .../Plugins/Tmdb/Models/TV/SeriesResult.cs | 40 ++ .../Plugins/Tmdb/Movies/GenericTmdbMovieInfo.cs | 309 +++++++++++ .../Plugins/Tmdb/Movies/TmdbImageProvider.cs | 209 ++++++++ .../Plugins/Tmdb/Movies/TmdbMovieExternalId.cs | 32 ++ .../Plugins/Tmdb/Movies/TmdbMovieProvider.cs | 446 ++++++++++++++++ .../Plugins/Tmdb/Movies/TmdbSearch.cs | 265 ++++++++++ .../Plugins/Tmdb/Movies/TmdbSettings.cs | 22 + .../Plugins/Tmdb/Music/TmdbMusicVideoProvider.cs | 32 ++ .../Plugins/Tmdb/People/TmdbPersonExternalId.cs | 24 + .../Plugins/Tmdb/People/TmdbPersonImageProvider.cs | 134 +++++ .../Plugins/Tmdb/People/TmdbPersonProvider.cs | 276 ++++++++++ .../Plugins/Tmdb/TV/TmdbEpisodeImageProvider.cs | 131 +++++ .../Plugins/Tmdb/TV/TmdbEpisodeProvider.cs | 211 ++++++++ .../Plugins/Tmdb/TV/TmdbEpisodeProviderBase.cs | 147 ++++++ .../Plugins/Tmdb/TV/TmdbSeasonImageProvider.cs | 144 ++++++ .../Plugins/Tmdb/TV/TmdbSeasonProvider.cs | 229 +++++++++ .../Plugins/Tmdb/TV/TmdbSeriesExternalId.cs | 24 + .../Plugins/Tmdb/TV/TmdbSeriesImageProvider.cs | 186 +++++++ .../Plugins/Tmdb/TV/TmdbSeriesProvider.cs | 567 +++++++++++++++++++++ MediaBrowser.Providers/Plugins/Tmdb/TmdbUtils.cs | 64 +++ .../Plugins/Tmdb/Trailers/TmdbTrailerProvider.cs | 44 ++ .../Tmdb/BoxSets/TmdbBoxSetExternalId.cs | 25 - .../Tmdb/BoxSets/TmdbBoxSetImageProvider.cs | 160 ------ .../Tmdb/BoxSets/TmdbBoxSetProvider.cs | 287 ----------- .../Tmdb/Models/Collections/CollectionImages.cs | 11 - .../Tmdb/Models/Collections/CollectionResult.cs | 15 - .../Tmdb/Models/Collections/Part.cs | 11 - .../Tmdb/Models/General/Backdrop.cs | 13 - MediaBrowser.Providers/Tmdb/Models/General/Crew.cs | 12 - .../Tmdb/Models/General/ExternalIds.cs | 11 - .../Tmdb/Models/General/Genre.cs | 8 - .../Tmdb/Models/General/Images.cs | 10 - .../Tmdb/Models/General/Keyword.cs | 8 - .../Tmdb/Models/General/Keywords.cs | 9 - .../Tmdb/Models/General/Poster.cs | 13 - .../Tmdb/Models/General/Profile.cs | 11 - .../Tmdb/Models/General/Still.cs | 14 - .../Tmdb/Models/General/StillImages.cs | 9 - .../Tmdb/Models/General/Video.cs | 14 - .../Tmdb/Models/General/Videos.cs | 9 - .../Tmdb/Models/Movies/BelongsToCollection.cs | 10 - MediaBrowser.Providers/Tmdb/Models/Movies/Cast.cs | 12 - MediaBrowser.Providers/Tmdb/Models/Movies/Casts.cs | 11 - .../Tmdb/Models/Movies/Country.cs | 11 - .../Tmdb/Models/Movies/MovieResult.cs | 49 -- .../Tmdb/Models/Movies/ProductionCompany.cs | 8 - .../Tmdb/Models/Movies/ProductionCountry.cs | 8 - .../Tmdb/Models/Movies/Releases.cs | 9 - .../Tmdb/Models/Movies/SpokenLanguage.cs | 8 - .../Tmdb/Models/Movies/Trailers.cs | 9 - .../Tmdb/Models/Movies/Youtube.cs | 9 - .../Tmdb/Models/People/PersonImages.cs | 10 - .../Tmdb/Models/People/PersonResult.cs | 23 - .../Tmdb/Models/Search/ExternalIdLookupResult.cs | 9 - .../Tmdb/Models/Search/MovieResult.cs | 65 --- .../Tmdb/Models/Search/PersonSearchResult.cs | 29 -- .../Tmdb/Models/Search/TmdbSearchResult.cs | 31 -- .../Tmdb/Models/Search/TvResult.cs | 15 - MediaBrowser.Providers/Tmdb/Models/TV/Cast.cs | 12 - .../Tmdb/Models/TV/ContentRating.cs | 8 - .../Tmdb/Models/TV/ContentRatings.cs | 9 - MediaBrowser.Providers/Tmdb/Models/TV/CreatedBy.cs | 9 - MediaBrowser.Providers/Tmdb/Models/TV/Credits.cs | 11 - MediaBrowser.Providers/Tmdb/Models/TV/Episode.cs | 14 - .../Tmdb/Models/TV/EpisodeCredits.cs | 12 - .../Tmdb/Models/TV/EpisodeResult.cs | 23 - MediaBrowser.Providers/Tmdb/Models/TV/GuestStar.cs | 12 - MediaBrowser.Providers/Tmdb/Models/TV/Network.cs | 8 - MediaBrowser.Providers/Tmdb/Models/TV/Season.cs | 11 - .../Tmdb/Models/TV/SeasonImages.cs | 10 - .../Tmdb/Models/TV/SeasonResult.cs | 21 - .../Tmdb/Models/TV/SeriesResult.cs | 40 -- .../Tmdb/Movies/GenericTmdbMovieInfo.cs | 309 ----------- .../Tmdb/Movies/TmdbImageProvider.cs | 209 -------- .../Tmdb/Movies/TmdbMovieExternalId.cs | 32 -- .../Tmdb/Movies/TmdbMovieProvider.cs | 447 ---------------- MediaBrowser.Providers/Tmdb/Movies/TmdbSearch.cs | 265 ---------- MediaBrowser.Providers/Tmdb/Movies/TmdbSettings.cs | 22 - .../Tmdb/Music/TmdbMusicVideoProvider.cs | 32 -- .../Tmdb/People/TmdbPersonExternalId.cs | 24 - .../Tmdb/People/TmdbPersonImageProvider.cs | 134 ----- .../Tmdb/People/TmdbPersonProvider.cs | 276 ---------- .../Tmdb/TV/TmdbEpisodeImageProvider.cs | 131 ----- .../Tmdb/TV/TmdbEpisodeProvider.cs | 211 -------- .../Tmdb/TV/TmdbEpisodeProviderBase.cs | 147 ------ .../Tmdb/TV/TmdbSeasonImageProvider.cs | 144 ------ .../Tmdb/TV/TmdbSeasonProvider.cs | 229 --------- .../Tmdb/TV/TmdbSeriesExternalId.cs | 24 - .../Tmdb/TV/TmdbSeriesImageProvider.cs | 186 ------- .../Tmdb/TV/TmdbSeriesProvider.cs | 567 --------------------- MediaBrowser.Providers/Tmdb/TmdbUtils.cs | 64 --- .../Tmdb/Trailers/TmdbTrailerProvider.cs | 44 -- 142 files changed, 4672 insertions(+), 4673 deletions(-) create mode 100644 MediaBrowser.Providers/Plugins/Tmdb/BoxSets/TmdbBoxSetExternalId.cs create mode 100644 MediaBrowser.Providers/Plugins/Tmdb/BoxSets/TmdbBoxSetImageProvider.cs create mode 100644 MediaBrowser.Providers/Plugins/Tmdb/BoxSets/TmdbBoxSetProvider.cs create mode 100644 MediaBrowser.Providers/Plugins/Tmdb/Models/Collections/CollectionImages.cs create mode 100644 MediaBrowser.Providers/Plugins/Tmdb/Models/Collections/CollectionResult.cs create mode 100644 MediaBrowser.Providers/Plugins/Tmdb/Models/Collections/Part.cs create mode 100644 MediaBrowser.Providers/Plugins/Tmdb/Models/General/Backdrop.cs create mode 100644 MediaBrowser.Providers/Plugins/Tmdb/Models/General/Crew.cs create mode 100644 MediaBrowser.Providers/Plugins/Tmdb/Models/General/ExternalIds.cs create mode 100644 MediaBrowser.Providers/Plugins/Tmdb/Models/General/Genre.cs create mode 100644 MediaBrowser.Providers/Plugins/Tmdb/Models/General/Images.cs create mode 100644 MediaBrowser.Providers/Plugins/Tmdb/Models/General/Keyword.cs create mode 100644 MediaBrowser.Providers/Plugins/Tmdb/Models/General/Keywords.cs create mode 100644 MediaBrowser.Providers/Plugins/Tmdb/Models/General/Poster.cs create mode 100644 MediaBrowser.Providers/Plugins/Tmdb/Models/General/Profile.cs create mode 100644 MediaBrowser.Providers/Plugins/Tmdb/Models/General/Still.cs create mode 100644 MediaBrowser.Providers/Plugins/Tmdb/Models/General/StillImages.cs create mode 100644 MediaBrowser.Providers/Plugins/Tmdb/Models/General/Video.cs create mode 100644 MediaBrowser.Providers/Plugins/Tmdb/Models/General/Videos.cs create mode 100644 MediaBrowser.Providers/Plugins/Tmdb/Models/Movies/BelongsToCollection.cs create mode 100644 MediaBrowser.Providers/Plugins/Tmdb/Models/Movies/Cast.cs create mode 100644 MediaBrowser.Providers/Plugins/Tmdb/Models/Movies/Casts.cs create mode 100644 MediaBrowser.Providers/Plugins/Tmdb/Models/Movies/Country.cs create mode 100644 MediaBrowser.Providers/Plugins/Tmdb/Models/Movies/MovieResult.cs create mode 100644 MediaBrowser.Providers/Plugins/Tmdb/Models/Movies/ProductionCompany.cs create mode 100644 MediaBrowser.Providers/Plugins/Tmdb/Models/Movies/ProductionCountry.cs create mode 100644 MediaBrowser.Providers/Plugins/Tmdb/Models/Movies/Releases.cs create mode 100644 MediaBrowser.Providers/Plugins/Tmdb/Models/Movies/SpokenLanguage.cs create mode 100644 MediaBrowser.Providers/Plugins/Tmdb/Models/Movies/Trailers.cs create mode 100644 MediaBrowser.Providers/Plugins/Tmdb/Models/Movies/Youtube.cs create mode 100644 MediaBrowser.Providers/Plugins/Tmdb/Models/People/PersonImages.cs create mode 100644 MediaBrowser.Providers/Plugins/Tmdb/Models/People/PersonResult.cs create mode 100644 MediaBrowser.Providers/Plugins/Tmdb/Models/Search/ExternalIdLookupResult.cs create mode 100644 MediaBrowser.Providers/Plugins/Tmdb/Models/Search/MovieResult.cs create mode 100644 MediaBrowser.Providers/Plugins/Tmdb/Models/Search/PersonSearchResult.cs create mode 100644 MediaBrowser.Providers/Plugins/Tmdb/Models/Search/TmdbSearchResult.cs create mode 100644 MediaBrowser.Providers/Plugins/Tmdb/Models/Search/TvResult.cs create mode 100644 MediaBrowser.Providers/Plugins/Tmdb/Models/TV/Cast.cs create mode 100644 MediaBrowser.Providers/Plugins/Tmdb/Models/TV/ContentRating.cs create mode 100644 MediaBrowser.Providers/Plugins/Tmdb/Models/TV/ContentRatings.cs create mode 100644 MediaBrowser.Providers/Plugins/Tmdb/Models/TV/CreatedBy.cs create mode 100644 MediaBrowser.Providers/Plugins/Tmdb/Models/TV/Credits.cs create mode 100644 MediaBrowser.Providers/Plugins/Tmdb/Models/TV/Episode.cs create mode 100644 MediaBrowser.Providers/Plugins/Tmdb/Models/TV/EpisodeCredits.cs create mode 100644 MediaBrowser.Providers/Plugins/Tmdb/Models/TV/EpisodeResult.cs create mode 100644 MediaBrowser.Providers/Plugins/Tmdb/Models/TV/GuestStar.cs create mode 100644 MediaBrowser.Providers/Plugins/Tmdb/Models/TV/Network.cs create mode 100644 MediaBrowser.Providers/Plugins/Tmdb/Models/TV/Season.cs create mode 100644 MediaBrowser.Providers/Plugins/Tmdb/Models/TV/SeasonImages.cs create mode 100644 MediaBrowser.Providers/Plugins/Tmdb/Models/TV/SeasonResult.cs create mode 100644 MediaBrowser.Providers/Plugins/Tmdb/Models/TV/SeriesResult.cs create mode 100644 MediaBrowser.Providers/Plugins/Tmdb/Movies/GenericTmdbMovieInfo.cs create mode 100644 MediaBrowser.Providers/Plugins/Tmdb/Movies/TmdbImageProvider.cs create mode 100644 MediaBrowser.Providers/Plugins/Tmdb/Movies/TmdbMovieExternalId.cs create mode 100644 MediaBrowser.Providers/Plugins/Tmdb/Movies/TmdbMovieProvider.cs create mode 100644 MediaBrowser.Providers/Plugins/Tmdb/Movies/TmdbSearch.cs create mode 100644 MediaBrowser.Providers/Plugins/Tmdb/Movies/TmdbSettings.cs create mode 100644 MediaBrowser.Providers/Plugins/Tmdb/Music/TmdbMusicVideoProvider.cs create mode 100644 MediaBrowser.Providers/Plugins/Tmdb/People/TmdbPersonExternalId.cs create mode 100644 MediaBrowser.Providers/Plugins/Tmdb/People/TmdbPersonImageProvider.cs create mode 100644 MediaBrowser.Providers/Plugins/Tmdb/People/TmdbPersonProvider.cs create mode 100644 MediaBrowser.Providers/Plugins/Tmdb/TV/TmdbEpisodeImageProvider.cs create mode 100644 MediaBrowser.Providers/Plugins/Tmdb/TV/TmdbEpisodeProvider.cs create mode 100644 MediaBrowser.Providers/Plugins/Tmdb/TV/TmdbEpisodeProviderBase.cs create mode 100644 MediaBrowser.Providers/Plugins/Tmdb/TV/TmdbSeasonImageProvider.cs create mode 100644 MediaBrowser.Providers/Plugins/Tmdb/TV/TmdbSeasonProvider.cs create mode 100644 MediaBrowser.Providers/Plugins/Tmdb/TV/TmdbSeriesExternalId.cs create mode 100644 MediaBrowser.Providers/Plugins/Tmdb/TV/TmdbSeriesImageProvider.cs create mode 100644 MediaBrowser.Providers/Plugins/Tmdb/TV/TmdbSeriesProvider.cs create mode 100644 MediaBrowser.Providers/Plugins/Tmdb/TmdbUtils.cs create mode 100644 MediaBrowser.Providers/Plugins/Tmdb/Trailers/TmdbTrailerProvider.cs delete mode 100644 MediaBrowser.Providers/Tmdb/BoxSets/TmdbBoxSetExternalId.cs delete mode 100644 MediaBrowser.Providers/Tmdb/BoxSets/TmdbBoxSetImageProvider.cs delete mode 100644 MediaBrowser.Providers/Tmdb/BoxSets/TmdbBoxSetProvider.cs delete mode 100644 MediaBrowser.Providers/Tmdb/Models/Collections/CollectionImages.cs delete mode 100644 MediaBrowser.Providers/Tmdb/Models/Collections/CollectionResult.cs delete mode 100644 MediaBrowser.Providers/Tmdb/Models/Collections/Part.cs delete mode 100644 MediaBrowser.Providers/Tmdb/Models/General/Backdrop.cs delete mode 100644 MediaBrowser.Providers/Tmdb/Models/General/Crew.cs delete mode 100644 MediaBrowser.Providers/Tmdb/Models/General/ExternalIds.cs delete mode 100644 MediaBrowser.Providers/Tmdb/Models/General/Genre.cs delete mode 100644 MediaBrowser.Providers/Tmdb/Models/General/Images.cs delete mode 100644 MediaBrowser.Providers/Tmdb/Models/General/Keyword.cs delete mode 100644 MediaBrowser.Providers/Tmdb/Models/General/Keywords.cs delete mode 100644 MediaBrowser.Providers/Tmdb/Models/General/Poster.cs delete mode 100644 MediaBrowser.Providers/Tmdb/Models/General/Profile.cs delete mode 100644 MediaBrowser.Providers/Tmdb/Models/General/Still.cs delete mode 100644 MediaBrowser.Providers/Tmdb/Models/General/StillImages.cs delete mode 100644 MediaBrowser.Providers/Tmdb/Models/General/Video.cs delete mode 100644 MediaBrowser.Providers/Tmdb/Models/General/Videos.cs delete mode 100644 MediaBrowser.Providers/Tmdb/Models/Movies/BelongsToCollection.cs delete mode 100644 MediaBrowser.Providers/Tmdb/Models/Movies/Cast.cs delete mode 100644 MediaBrowser.Providers/Tmdb/Models/Movies/Casts.cs delete mode 100644 MediaBrowser.Providers/Tmdb/Models/Movies/Country.cs delete mode 100644 MediaBrowser.Providers/Tmdb/Models/Movies/MovieResult.cs delete mode 100644 MediaBrowser.Providers/Tmdb/Models/Movies/ProductionCompany.cs delete mode 100644 MediaBrowser.Providers/Tmdb/Models/Movies/ProductionCountry.cs delete mode 100644 MediaBrowser.Providers/Tmdb/Models/Movies/Releases.cs delete mode 100644 MediaBrowser.Providers/Tmdb/Models/Movies/SpokenLanguage.cs delete mode 100644 MediaBrowser.Providers/Tmdb/Models/Movies/Trailers.cs delete mode 100644 MediaBrowser.Providers/Tmdb/Models/Movies/Youtube.cs delete mode 100644 MediaBrowser.Providers/Tmdb/Models/People/PersonImages.cs delete mode 100644 MediaBrowser.Providers/Tmdb/Models/People/PersonResult.cs delete mode 100644 MediaBrowser.Providers/Tmdb/Models/Search/ExternalIdLookupResult.cs delete mode 100644 MediaBrowser.Providers/Tmdb/Models/Search/MovieResult.cs delete mode 100644 MediaBrowser.Providers/Tmdb/Models/Search/PersonSearchResult.cs delete mode 100644 MediaBrowser.Providers/Tmdb/Models/Search/TmdbSearchResult.cs delete mode 100644 MediaBrowser.Providers/Tmdb/Models/Search/TvResult.cs delete mode 100644 MediaBrowser.Providers/Tmdb/Models/TV/Cast.cs delete mode 100644 MediaBrowser.Providers/Tmdb/Models/TV/ContentRating.cs delete mode 100644 MediaBrowser.Providers/Tmdb/Models/TV/ContentRatings.cs delete mode 100644 MediaBrowser.Providers/Tmdb/Models/TV/CreatedBy.cs delete mode 100644 MediaBrowser.Providers/Tmdb/Models/TV/Credits.cs delete mode 100644 MediaBrowser.Providers/Tmdb/Models/TV/Episode.cs delete mode 100644 MediaBrowser.Providers/Tmdb/Models/TV/EpisodeCredits.cs delete mode 100644 MediaBrowser.Providers/Tmdb/Models/TV/EpisodeResult.cs delete mode 100644 MediaBrowser.Providers/Tmdb/Models/TV/GuestStar.cs delete mode 100644 MediaBrowser.Providers/Tmdb/Models/TV/Network.cs delete mode 100644 MediaBrowser.Providers/Tmdb/Models/TV/Season.cs delete mode 100644 MediaBrowser.Providers/Tmdb/Models/TV/SeasonImages.cs delete mode 100644 MediaBrowser.Providers/Tmdb/Models/TV/SeasonResult.cs delete mode 100644 MediaBrowser.Providers/Tmdb/Models/TV/SeriesResult.cs delete mode 100644 MediaBrowser.Providers/Tmdb/Movies/GenericTmdbMovieInfo.cs delete mode 100644 MediaBrowser.Providers/Tmdb/Movies/TmdbImageProvider.cs delete mode 100644 MediaBrowser.Providers/Tmdb/Movies/TmdbMovieExternalId.cs delete mode 100644 MediaBrowser.Providers/Tmdb/Movies/TmdbMovieProvider.cs delete mode 100644 MediaBrowser.Providers/Tmdb/Movies/TmdbSearch.cs delete mode 100644 MediaBrowser.Providers/Tmdb/Movies/TmdbSettings.cs delete mode 100644 MediaBrowser.Providers/Tmdb/Music/TmdbMusicVideoProvider.cs delete mode 100644 MediaBrowser.Providers/Tmdb/People/TmdbPersonExternalId.cs delete mode 100644 MediaBrowser.Providers/Tmdb/People/TmdbPersonImageProvider.cs delete mode 100644 MediaBrowser.Providers/Tmdb/People/TmdbPersonProvider.cs delete mode 100644 MediaBrowser.Providers/Tmdb/TV/TmdbEpisodeImageProvider.cs delete mode 100644 MediaBrowser.Providers/Tmdb/TV/TmdbEpisodeProvider.cs delete mode 100644 MediaBrowser.Providers/Tmdb/TV/TmdbEpisodeProviderBase.cs delete mode 100644 MediaBrowser.Providers/Tmdb/TV/TmdbSeasonImageProvider.cs delete mode 100644 MediaBrowser.Providers/Tmdb/TV/TmdbSeasonProvider.cs delete mode 100644 MediaBrowser.Providers/Tmdb/TV/TmdbSeriesExternalId.cs delete mode 100644 MediaBrowser.Providers/Tmdb/TV/TmdbSeriesImageProvider.cs delete mode 100644 MediaBrowser.Providers/Tmdb/TV/TmdbSeriesProvider.cs delete mode 100644 MediaBrowser.Providers/Tmdb/TmdbUtils.cs delete mode 100644 MediaBrowser.Providers/Tmdb/Trailers/TmdbTrailerProvider.cs diff --git a/MediaBrowser.Providers/Plugins/Tmdb/BoxSets/TmdbBoxSetExternalId.cs b/MediaBrowser.Providers/Plugins/Tmdb/BoxSets/TmdbBoxSetExternalId.cs new file mode 100644 index 0000000000..a260406da8 --- /dev/null +++ b/MediaBrowser.Providers/Plugins/Tmdb/BoxSets/TmdbBoxSetExternalId.cs @@ -0,0 +1,25 @@ +using MediaBrowser.Controller.Entities; +using MediaBrowser.Controller.Entities.Movies; +using MediaBrowser.Controller.Providers; +using MediaBrowser.Model.Entities; + +namespace MediaBrowser.Providers.Plugins.Tmdb.BoxSets +{ + public class TmdbBoxSetExternalId : IExternalId + { + /// + public string Name => TmdbUtils.ProviderName; + + /// + public string Key => MetadataProviders.TmdbCollection.ToString(); + + /// + public string UrlFormatString => TmdbUtils.BaseTmdbUrl + "collection/{0}"; + + /// + public bool Supports(IHasProviderIds item) + { + return item is Movie || item is MusicVideo || item is Trailer; + } + } +} diff --git a/MediaBrowser.Providers/Plugins/Tmdb/BoxSets/TmdbBoxSetImageProvider.cs b/MediaBrowser.Providers/Plugins/Tmdb/BoxSets/TmdbBoxSetImageProvider.cs new file mode 100644 index 0000000000..0918b3eb65 --- /dev/null +++ b/MediaBrowser.Providers/Plugins/Tmdb/BoxSets/TmdbBoxSetImageProvider.cs @@ -0,0 +1,160 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading; +using System.Threading.Tasks; +using MediaBrowser.Common.Net; +using MediaBrowser.Controller.Entities; +using MediaBrowser.Controller.Entities.Movies; +using MediaBrowser.Controller.Providers; +using MediaBrowser.Model.Dto; +using MediaBrowser.Model.Entities; +using MediaBrowser.Model.Providers; +using MediaBrowser.Providers.Plugins.Tmdb.Models.Collections; +using MediaBrowser.Providers.Plugins.Tmdb.Models.General; +using MediaBrowser.Providers.Plugins.Tmdb.Movies; + +namespace MediaBrowser.Providers.Plugins.Tmdb.BoxSets +{ + public class TmdbBoxSetImageProvider : IRemoteImageProvider, IHasOrder + { + private readonly IHttpClient _httpClient; + + public TmdbBoxSetImageProvider(IHttpClient httpClient) + { + _httpClient = httpClient; + } + + public string Name => ProviderName; + + public static string ProviderName => TmdbUtils.ProviderName; + + public bool Supports(BaseItem item) + { + return item is BoxSet; + } + + public IEnumerable GetSupportedImages(BaseItem item) + { + return new List + { + ImageType.Primary, + ImageType.Backdrop + }; + } + + public async Task> GetImages(BaseItem item, CancellationToken cancellationToken) + { + var tmdbId = item.GetProviderId(MetadataProviders.Tmdb); + + if (!string.IsNullOrEmpty(tmdbId)) + { + var language = item.GetPreferredMetadataLanguage(); + + var mainResult = await TmdbBoxSetProvider.Current.GetMovieDbResult(tmdbId, null, cancellationToken).ConfigureAwait(false); + + if (mainResult != null) + { + var tmdbSettings = await TmdbMovieProvider.Current.GetTmdbSettings(cancellationToken).ConfigureAwait(false); + + var tmdbImageUrl = tmdbSettings.images.GetImageUrl("original"); + + return GetImages(mainResult, language, tmdbImageUrl); + } + } + + return new List(); + } + + private IEnumerable GetImages(CollectionResult obj, string language, string baseUrl) + { + var list = new List(); + + var images = obj.Images ?? new CollectionImages(); + + list.AddRange(GetPosters(images).Select(i => new RemoteImageInfo + { + Url = baseUrl + i.File_Path, + CommunityRating = i.Vote_Average, + VoteCount = i.Vote_Count, + Width = i.Width, + Height = i.Height, + Language = TmdbMovieProvider.AdjustImageLanguage(i.Iso_639_1, language), + ProviderName = Name, + Type = ImageType.Primary, + RatingType = RatingType.Score + })); + + list.AddRange(GetBackdrops(images).Select(i => new RemoteImageInfo + { + Url = baseUrl + i.File_Path, + CommunityRating = i.Vote_Average, + VoteCount = i.Vote_Count, + Width = i.Width, + Height = i.Height, + ProviderName = Name, + Type = ImageType.Backdrop, + RatingType = RatingType.Score + })); + + var isLanguageEn = string.Equals(language, "en", StringComparison.OrdinalIgnoreCase); + + return list.OrderByDescending(i => + { + if (string.Equals(language, i.Language, StringComparison.OrdinalIgnoreCase)) + { + return 3; + } + if (!isLanguageEn) + { + if (string.Equals("en", i.Language, StringComparison.OrdinalIgnoreCase)) + { + return 2; + } + } + if (string.IsNullOrEmpty(i.Language)) + { + return isLanguageEn ? 3 : 2; + } + return 0; + }) + .ThenByDescending(i => i.CommunityRating ?? 0) + .ThenByDescending(i => i.VoteCount ?? 0); + } + + /// + /// Gets the posters. + /// + /// The images. + /// IEnumerable{MovieDbProvider.Poster}. + private IEnumerable GetPosters(CollectionImages images) + { + return images.Posters ?? new List(); + } + + /// + /// Gets the backdrops. + /// + /// The images. + /// IEnumerable{MovieDbProvider.Backdrop}. + private IEnumerable GetBackdrops(CollectionImages images) + { + var eligibleBackdrops = images.Backdrops == null ? new List() : + images.Backdrops; + + return eligibleBackdrops.OrderByDescending(i => i.Vote_Average) + .ThenByDescending(i => i.Vote_Count); + } + + public int Order => 0; + + public Task GetImageResponse(string url, CancellationToken cancellationToken) + { + return _httpClient.GetResponse(new HttpRequestOptions + { + CancellationToken = cancellationToken, + Url = url + }); + } + } +} diff --git a/MediaBrowser.Providers/Plugins/Tmdb/BoxSets/TmdbBoxSetProvider.cs b/MediaBrowser.Providers/Plugins/Tmdb/BoxSets/TmdbBoxSetProvider.cs new file mode 100644 index 0000000000..75d91a11dc --- /dev/null +++ b/MediaBrowser.Providers/Plugins/Tmdb/BoxSets/TmdbBoxSetProvider.cs @@ -0,0 +1,287 @@ +using System; +using System.Collections.Generic; +using System.Globalization; +using System.IO; +using System.Linq; +using System.Threading; +using System.Threading.Tasks; +using MediaBrowser.Common.Configuration; +using MediaBrowser.Common.Net; +using MediaBrowser.Controller.Configuration; +using MediaBrowser.Controller.Entities.Movies; +using MediaBrowser.Controller.Library; +using MediaBrowser.Controller.Providers; +using MediaBrowser.Model.Entities; +using MediaBrowser.Model.Globalization; +using MediaBrowser.Model.IO; +using MediaBrowser.Model.Providers; +using MediaBrowser.Model.Serialization; +using MediaBrowser.Providers.Plugins.Tmdb.Models.Collections; +using MediaBrowser.Providers.Plugins.Tmdb.Models.General; +using MediaBrowser.Providers.Plugins.Tmdb.Movies; +using Microsoft.Extensions.Logging; + +namespace MediaBrowser.Providers.Plugins.Tmdb.BoxSets +{ + public class TmdbBoxSetProvider : IRemoteMetadataProvider + { + private const string GetCollectionInfo3 = TmdbUtils.BaseTmdbApiUrl + @"3/collection/{0}?api_key={1}&append_to_response=images"; + + internal static TmdbBoxSetProvider Current; + + private readonly ILogger _logger; + private readonly IJsonSerializer _json; + private readonly IServerConfigurationManager _config; + private readonly IFileSystem _fileSystem; + private readonly ILocalizationManager _localization; + private readonly IHttpClient _httpClient; + private readonly ILibraryManager _libraryManager; + + public TmdbBoxSetProvider( + ILogger logger, + IJsonSerializer json, + IServerConfigurationManager config, + IFileSystem fileSystem, + ILocalizationManager localization, + IHttpClient httpClient, + ILibraryManager libraryManager) + { + _logger = logger; + _json = json; + _config = config; + _fileSystem = fileSystem; + _localization = localization; + _httpClient = httpClient; + _libraryManager = libraryManager; + Current = this; + } + + private readonly CultureInfo _usCulture = new CultureInfo("en-US"); + + public async Task> GetSearchResults(BoxSetInfo searchInfo, CancellationToken cancellationToken) + { + var tmdbId = searchInfo.GetProviderId(MetadataProviders.Tmdb); + + if (!string.IsNullOrEmpty(tmdbId)) + { + await EnsureInfo(tmdbId, searchInfo.MetadataLanguage, cancellationToken).ConfigureAwait(false); + + var dataFilePath = GetDataFilePath(_config.ApplicationPaths, tmdbId, searchInfo.MetadataLanguage); + var info = _json.DeserializeFromFile(dataFilePath); + + var images = (info.Images ?? new CollectionImages()).Posters ?? new List(); + + var tmdbSettings = await TmdbMovieProvider.Current.GetTmdbSettings(cancellationToken).ConfigureAwait(false); + + var tmdbImageUrl = tmdbSettings.images.GetImageUrl("original"); + + var result = new RemoteSearchResult + { + Name = info.Name, + + SearchProviderName = Name, + + ImageUrl = images.Count == 0 ? null : (tmdbImageUrl + images[0].File_Path) + }; + + result.SetProviderId(MetadataProviders.Tmdb, info.Id.ToString(_usCulture)); + + return new[] { result }; + } + + return await new TmdbSearch(_logger, _json, _libraryManager).GetSearchResults(searchInfo, cancellationToken).ConfigureAwait(false); + } + + public async Task> GetMetadata(BoxSetInfo id, CancellationToken cancellationToken) + { + var tmdbId = id.GetProviderId(MetadataProviders.Tmdb); + + // We don't already have an Id, need to fetch it + if (string.IsNullOrEmpty(tmdbId)) + { + var searchResults = await new TmdbSearch(_logger, _json, _libraryManager).GetSearchResults(id, cancellationToken).ConfigureAwait(false); + + var searchResult = searchResults.FirstOrDefault(); + + if (searchResult != null) + { + tmdbId = searchResult.GetProviderId(MetadataProviders.Tmdb); + } + } + + var result = new MetadataResult(); + + if (!string.IsNullOrEmpty(tmdbId)) + { + var mainResult = await GetMovieDbResult(tmdbId, id.MetadataLanguage, cancellationToken).ConfigureAwait(false); + + if (mainResult != null) + { + result.HasMetadata = true; + result.Item = GetItem(mainResult); + } + } + + return result; + } + + internal async Task GetMovieDbResult(string tmdbId, string language, CancellationToken cancellationToken) + { + if (string.IsNullOrEmpty(tmdbId)) + { + throw new ArgumentNullException(nameof(tmdbId)); + } + + await EnsureInfo(tmdbId, language, cancellationToken).ConfigureAwait(false); + + var dataFilePath = GetDataFilePath(_config.ApplicationPaths, tmdbId, language); + + if (!string.IsNullOrEmpty(dataFilePath)) + { + return _json.DeserializeFromFile(dataFilePath); + } + + return null; + } + + private BoxSet GetItem(CollectionResult obj) + { + var item = new BoxSet + { + Name = obj.Name, + Overview = obj.Overview + }; + + item.SetProviderId(MetadataProviders.Tmdb, obj.Id.ToString(_usCulture)); + + return item; + } + + private async Task DownloadInfo(string tmdbId, string preferredMetadataLanguage, CancellationToken cancellationToken) + { + var mainResult = await FetchMainResult(tmdbId, preferredMetadataLanguage, cancellationToken).ConfigureAwait(false); + + if (mainResult == null) return; + + var dataFilePath = GetDataFilePath(_config.ApplicationPaths, tmdbId, preferredMetadataLanguage); + + Directory.CreateDirectory(Path.GetDirectoryName(dataFilePath)); + + _json.SerializeToFile(mainResult, dataFilePath); + } + + private async Task FetchMainResult(string id, string language, CancellationToken cancellationToken) + { + var url = string.Format(GetCollectionInfo3, id, TmdbUtils.ApiKey); + + if (!string.IsNullOrEmpty(language)) + { + url += string.Format("&language={0}", TmdbMovieProvider.NormalizeLanguage(language)); + + // Get images in english and with no language + url += "&include_image_language=" + TmdbMovieProvider.GetImageLanguagesParam(language); + } + + cancellationToken.ThrowIfCancellationRequested(); + + CollectionResult mainResult; + + using (var response = await TmdbMovieProvider.Current.GetMovieDbResponse(new HttpRequestOptions + { + Url = url, + CancellationToken = cancellationToken, + AcceptHeader = TmdbUtils.AcceptHeader + + }).ConfigureAwait(false)) + { + using (var json = response.Content) + { + mainResult = await _json.DeserializeFromStreamAsync(json).ConfigureAwait(false); + } + } + + cancellationToken.ThrowIfCancellationRequested(); + + if (mainResult != null && string.IsNullOrEmpty(mainResult.Name)) + { + if (!string.IsNullOrEmpty(language) && !string.Equals(language, "en", StringComparison.OrdinalIgnoreCase)) + { + url = string.Format(GetCollectionInfo3, id, TmdbUtils.ApiKey) + "&language=en"; + + if (!string.IsNullOrEmpty(language)) + { + // Get images in english and with no language + url += "&include_image_language=" + TmdbMovieProvider.GetImageLanguagesParam(language); + } + + using (var response = await TmdbMovieProvider.Current.GetMovieDbResponse(new HttpRequestOptions + { + Url = url, + CancellationToken = cancellationToken, + AcceptHeader = TmdbUtils.AcceptHeader + + }).ConfigureAwait(false)) + { + using (var json = response.Content) + { + mainResult = await _json.DeserializeFromStreamAsync(json).ConfigureAwait(false); + } + } + } + } + return mainResult; + } + + internal Task EnsureInfo(string tmdbId, string preferredMetadataLanguage, CancellationToken cancellationToken) + { + var path = GetDataFilePath(_config.ApplicationPaths, tmdbId, preferredMetadataLanguage); + + var fileInfo = _fileSystem.GetFileSystemInfo(path); + + if (fileInfo.Exists) + { + // If it's recent or automatic updates are enabled, don't re-download + if ((DateTime.UtcNow - _fileSystem.GetLastWriteTimeUtc(fileInfo)).TotalDays <= 2) + { + return Task.CompletedTask; + } + } + + return DownloadInfo(tmdbId, preferredMetadataLanguage, cancellationToken); + } + + public string Name => TmdbUtils.ProviderName; + + private static string GetDataFilePath(IApplicationPaths appPaths, string tmdbId, string preferredLanguage) + { + var path = GetDataPath(appPaths, tmdbId); + + var filename = string.Format("all-{0}.json", preferredLanguage ?? string.Empty); + + return Path.Combine(path, filename); + } + + private static string GetDataPath(IApplicationPaths appPaths, string tmdbId) + { + var dataPath = GetCollectionsDataPath(appPaths); + + return Path.Combine(dataPath, tmdbId); + } + + private static string GetCollectionsDataPath(IApplicationPaths appPaths) + { + var dataPath = Path.Combine(appPaths.CachePath, "tmdb-collections"); + + return dataPath; + } + + public Task GetImageResponse(string url, CancellationToken cancellationToken) + { + return _httpClient.GetResponse(new HttpRequestOptions + { + CancellationToken = cancellationToken, + Url = url + }); + } + } +} diff --git a/MediaBrowser.Providers/Plugins/Tmdb/Models/Collections/CollectionImages.cs b/MediaBrowser.Providers/Plugins/Tmdb/Models/Collections/CollectionImages.cs new file mode 100644 index 0000000000..2410ca16b5 --- /dev/null +++ b/MediaBrowser.Providers/Plugins/Tmdb/Models/Collections/CollectionImages.cs @@ -0,0 +1,11 @@ +using System.Collections.Generic; +using MediaBrowser.Providers.Plugins.Tmdb.Models.General; + +namespace MediaBrowser.Providers.Plugins.Tmdb.Models.Collections +{ + public class CollectionImages + { + public List Backdrops { get; set; } + public List Posters { get; set; } + } +} diff --git a/MediaBrowser.Providers/Plugins/Tmdb/Models/Collections/CollectionResult.cs b/MediaBrowser.Providers/Plugins/Tmdb/Models/Collections/CollectionResult.cs new file mode 100644 index 0000000000..3437552df7 --- /dev/null +++ b/MediaBrowser.Providers/Plugins/Tmdb/Models/Collections/CollectionResult.cs @@ -0,0 +1,15 @@ +using System.Collections.Generic; + +namespace MediaBrowser.Providers.Plugins.Tmdb.Models.Collections +{ + public class CollectionResult + { + public int Id { get; set; } + public string Name { get; set; } + public string Overview { get; set; } + public string Poster_Path { get; set; } + public string Backdrop_Path { get; set; } + public List Parts { get; set; } + public CollectionImages Images { get; set; } + } +} diff --git a/MediaBrowser.Providers/Plugins/Tmdb/Models/Collections/Part.cs b/MediaBrowser.Providers/Plugins/Tmdb/Models/Collections/Part.cs new file mode 100644 index 0000000000..462fdab534 --- /dev/null +++ b/MediaBrowser.Providers/Plugins/Tmdb/Models/Collections/Part.cs @@ -0,0 +1,11 @@ +namespace MediaBrowser.Providers.Plugins.Tmdb.Models.Collections +{ + public class Part + { + public string Title { get; set; } + public int Id { get; set; } + public string Release_Date { get; set; } + public string Poster_Path { get; set; } + public string Backdrop_Path { get; set; } + } +} diff --git a/MediaBrowser.Providers/Plugins/Tmdb/Models/General/Backdrop.cs b/MediaBrowser.Providers/Plugins/Tmdb/Models/General/Backdrop.cs new file mode 100644 index 0000000000..35e3e21126 --- /dev/null +++ b/MediaBrowser.Providers/Plugins/Tmdb/Models/General/Backdrop.cs @@ -0,0 +1,13 @@ +namespace MediaBrowser.Providers.Plugins.Tmdb.Models.General +{ + public class Backdrop + { + public double Aspect_Ratio { get; set; } + public string File_Path { get; set; } + public int Height { get; set; } + public string Iso_639_1 { get; set; } + public double Vote_Average { get; set; } + public int Vote_Count { get; set; } + public int Width { get; set; } + } +} diff --git a/MediaBrowser.Providers/Plugins/Tmdb/Models/General/Crew.cs b/MediaBrowser.Providers/Plugins/Tmdb/Models/General/Crew.cs new file mode 100644 index 0000000000..6a5e74ddbe --- /dev/null +++ b/MediaBrowser.Providers/Plugins/Tmdb/Models/General/Crew.cs @@ -0,0 +1,12 @@ +namespace MediaBrowser.Providers.Plugins.Tmdb.Models.General +{ + public class Crew + { + public int Id { get; set; } + public string Credit_Id { get; set; } + public string Name { get; set; } + public string Department { get; set; } + public string Job { get; set; } + public string Profile_Path { get; set; } + } +} diff --git a/MediaBrowser.Providers/Plugins/Tmdb/Models/General/ExternalIds.cs b/MediaBrowser.Providers/Plugins/Tmdb/Models/General/ExternalIds.cs new file mode 100644 index 0000000000..a083f6e9c9 --- /dev/null +++ b/MediaBrowser.Providers/Plugins/Tmdb/Models/General/ExternalIds.cs @@ -0,0 +1,11 @@ +namespace MediaBrowser.Providers.Plugins.Tmdb.Models.General +{ + public class ExternalIds + { + public string Imdb_Id { get; set; } + public object Freebase_Id { get; set; } + public string Freebase_Mid { get; set; } + public int Tvdb_Id { get; set; } + public int Tvrage_Id { get; set; } + } +} diff --git a/MediaBrowser.Providers/Plugins/Tmdb/Models/General/Genre.cs b/MediaBrowser.Providers/Plugins/Tmdb/Models/General/Genre.cs new file mode 100644 index 0000000000..7f1a394c36 --- /dev/null +++ b/MediaBrowser.Providers/Plugins/Tmdb/Models/General/Genre.cs @@ -0,0 +1,8 @@ +namespace MediaBrowser.Providers.Plugins.Tmdb.Models.General +{ + public class Genre + { + public int Id { get; set; } + public string Name { get; set; } + } +} diff --git a/MediaBrowser.Providers/Plugins/Tmdb/Models/General/Images.cs b/MediaBrowser.Providers/Plugins/Tmdb/Models/General/Images.cs new file mode 100644 index 0000000000..166f9b7408 --- /dev/null +++ b/MediaBrowser.Providers/Plugins/Tmdb/Models/General/Images.cs @@ -0,0 +1,10 @@ +using System.Collections.Generic; + +namespace MediaBrowser.Providers.Plugins.Tmdb.Models.General +{ + public class Images + { + public List Backdrops { get; set; } + public List Posters { get; set; } + } +} diff --git a/MediaBrowser.Providers/Plugins/Tmdb/Models/General/Keyword.cs b/MediaBrowser.Providers/Plugins/Tmdb/Models/General/Keyword.cs new file mode 100644 index 0000000000..72f417be5d --- /dev/null +++ b/MediaBrowser.Providers/Plugins/Tmdb/Models/General/Keyword.cs @@ -0,0 +1,8 @@ +namespace MediaBrowser.Providers.Plugins.Tmdb.Models.General +{ + public class Keyword + { + public int Id { get; set; } + public string Name { get; set; } + } +} diff --git a/MediaBrowser.Providers/Plugins/Tmdb/Models/General/Keywords.cs b/MediaBrowser.Providers/Plugins/Tmdb/Models/General/Keywords.cs new file mode 100644 index 0000000000..ec2d7a0354 --- /dev/null +++ b/MediaBrowser.Providers/Plugins/Tmdb/Models/General/Keywords.cs @@ -0,0 +1,9 @@ +using System.Collections.Generic; + +namespace MediaBrowser.Providers.Plugins.Tmdb.Models.General +{ + public class Keywords + { + public List Results { get; set; } + } +} diff --git a/MediaBrowser.Providers/Plugins/Tmdb/Models/General/Poster.cs b/MediaBrowser.Providers/Plugins/Tmdb/Models/General/Poster.cs new file mode 100644 index 0000000000..0cf04a6ce1 --- /dev/null +++ b/MediaBrowser.Providers/Plugins/Tmdb/Models/General/Poster.cs @@ -0,0 +1,13 @@ +namespace MediaBrowser.Providers.Plugins.Tmdb.Models.General +{ + public class Poster + { + public double Aspect_Ratio { get; set; } + public string File_Path { get; set; } + public int Height { get; set; } + public string Iso_639_1 { get; set; } + public double Vote_Average { get; set; } + public int Vote_Count { get; set; } + public int Width { get; set; } + } +} diff --git a/MediaBrowser.Providers/Plugins/Tmdb/Models/General/Profile.cs b/MediaBrowser.Providers/Plugins/Tmdb/Models/General/Profile.cs new file mode 100644 index 0000000000..b45cfc30f2 --- /dev/null +++ b/MediaBrowser.Providers/Plugins/Tmdb/Models/General/Profile.cs @@ -0,0 +1,11 @@ +namespace MediaBrowser.Providers.Plugins.Tmdb.Models.General +{ + public class Profile + { + public string File_Path { get; set; } + public int Width { get; set; } + public int Height { get; set; } + public object Iso_639_1 { get; set; } + public double Aspect_Ratio { get; set; } + } +} diff --git a/MediaBrowser.Providers/Plugins/Tmdb/Models/General/Still.cs b/MediaBrowser.Providers/Plugins/Tmdb/Models/General/Still.cs new file mode 100644 index 0000000000..9fc82cfee7 --- /dev/null +++ b/MediaBrowser.Providers/Plugins/Tmdb/Models/General/Still.cs @@ -0,0 +1,14 @@ +namespace MediaBrowser.Providers.Plugins.Tmdb.Models.General +{ + public class Still + { + public double Aspect_Ratio { get; set; } + public string File_Path { get; set; } + public int Height { get; set; } + public string Id { get; set; } + public string Iso_639_1 { get; set; } + public double Vote_Average { get; set; } + public int Vote_Count { get; set; } + public int Width { get; set; } + } +} diff --git a/MediaBrowser.Providers/Plugins/Tmdb/Models/General/StillImages.cs b/MediaBrowser.Providers/Plugins/Tmdb/Models/General/StillImages.cs new file mode 100644 index 0000000000..23af4b697a --- /dev/null +++ b/MediaBrowser.Providers/Plugins/Tmdb/Models/General/StillImages.cs @@ -0,0 +1,9 @@ +using System.Collections.Generic; + +namespace MediaBrowser.Providers.Plugins.Tmdb.Models.General +{ + public class StillImages + { + public List Stills { get; set; } + } +} diff --git a/MediaBrowser.Providers/Plugins/Tmdb/Models/General/Video.cs b/MediaBrowser.Providers/Plugins/Tmdb/Models/General/Video.cs new file mode 100644 index 0000000000..19bfd62f61 --- /dev/null +++ b/MediaBrowser.Providers/Plugins/Tmdb/Models/General/Video.cs @@ -0,0 +1,14 @@ +namespace MediaBrowser.Providers.Plugins.Tmdb.Models.General +{ + public class Video + { + public string Id { get; set; } + public string Iso_639_1 { get; set; } + public string Iso_3166_1 { get; set; } + public string Key { get; set; } + public string Name { get; set; } + public string Site { get; set; } + public string Size { get; set; } + public string Type { get; set; } + } +} diff --git a/MediaBrowser.Providers/Plugins/Tmdb/Models/General/Videos.cs b/MediaBrowser.Providers/Plugins/Tmdb/Models/General/Videos.cs new file mode 100644 index 0000000000..26e839de74 --- /dev/null +++ b/MediaBrowser.Providers/Plugins/Tmdb/Models/General/Videos.cs @@ -0,0 +1,9 @@ +using System.Collections.Generic; + +namespace MediaBrowser.Providers.Plugins.Tmdb.Models.General +{ + public class Videos + { + public List