mirror of
https://github.com/jellyfin/jellyfin.git
synced 2024-07-21 13:10:45 +02:00
merge branch master into custom-repos
This commit is contained in:
commit
52cd955a8f
|
@ -1,3 +1,5 @@
|
||||||
|
#pragma warning disable CS1591
|
||||||
|
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
|
@ -18,8 +20,14 @@ using MediaBrowser.Model.Querying;
|
||||||
|
|
||||||
namespace Emby.Server.Implementations.Images
|
namespace Emby.Server.Implementations.Images
|
||||||
{
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Class ArtistImageProvider.
|
||||||
|
/// </summary>
|
||||||
public class ArtistImageProvider : BaseDynamicImageProvider<MusicArtist>
|
public class ArtistImageProvider : BaseDynamicImageProvider<MusicArtist>
|
||||||
{
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// The library manager.
|
||||||
|
/// </summary>
|
||||||
private readonly ILibraryManager _libraryManager;
|
private readonly ILibraryManager _libraryManager;
|
||||||
|
|
||||||
public ArtistImageProvider(IFileSystem fileSystem, IProviderManager providerManager, IApplicationPaths applicationPaths, IImageProcessor imageProcessor, ILibraryManager libraryManager) : base(fileSystem, providerManager, applicationPaths, imageProcessor)
|
public ArtistImageProvider(IFileSystem fileSystem, IProviderManager providerManager, IApplicationPaths applicationPaths, IImageProcessor imageProcessor, ILibraryManager libraryManager) : base(fileSystem, providerManager, applicationPaths, imageProcessor)
|
||||||
|
@ -27,6 +35,11 @@ namespace Emby.Server.Implementations.Images
|
||||||
_libraryManager = libraryManager;
|
_libraryManager = libraryManager;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Get children objects used to create an artist image.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="item">The artist used to create the image.</param>
|
||||||
|
/// <returns>Any relevant children objects.</returns>
|
||||||
protected override IReadOnlyList<BaseItem> GetItemsWithImages(BaseItem item)
|
protected override IReadOnlyList<BaseItem> GetItemsWithImages(BaseItem item)
|
||||||
{
|
{
|
||||||
return Array.Empty<BaseItem>();
|
return Array.Empty<BaseItem>();
|
||||||
|
|
|
@ -1,7 +1,6 @@
|
||||||
using System;
|
#pragma warning disable CS1591
|
||||||
|
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
|
||||||
using Emby.Server.Implementations.Images;
|
|
||||||
using MediaBrowser.Common.Configuration;
|
using MediaBrowser.Common.Configuration;
|
||||||
using MediaBrowser.Controller.Drawing;
|
using MediaBrowser.Controller.Drawing;
|
||||||
using MediaBrowser.Controller.Dto;
|
using MediaBrowser.Controller.Dto;
|
||||||
|
@ -10,7 +9,6 @@ using MediaBrowser.Controller.Entities.Audio;
|
||||||
using MediaBrowser.Controller.Entities.Movies;
|
using MediaBrowser.Controller.Entities.Movies;
|
||||||
using MediaBrowser.Controller.Entities.TV;
|
using MediaBrowser.Controller.Entities.TV;
|
||||||
using MediaBrowser.Controller.Library;
|
using MediaBrowser.Controller.Library;
|
||||||
using MediaBrowser.Controller.Playlists;
|
|
||||||
using MediaBrowser.Controller.Providers;
|
using MediaBrowser.Controller.Providers;
|
||||||
using MediaBrowser.Model.Entities;
|
using MediaBrowser.Model.Entities;
|
||||||
using MediaBrowser.Model.IO;
|
using MediaBrowser.Model.IO;
|
||||||
|
@ -18,8 +16,14 @@ using MediaBrowser.Model.Querying;
|
||||||
|
|
||||||
namespace Emby.Server.Implementations.Images
|
namespace Emby.Server.Implementations.Images
|
||||||
{
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Class MusicGenreImageProvider.
|
||||||
|
/// </summary>
|
||||||
public class MusicGenreImageProvider : BaseDynamicImageProvider<MusicGenre>
|
public class MusicGenreImageProvider : BaseDynamicImageProvider<MusicGenre>
|
||||||
{
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// The library manager.
|
||||||
|
/// </summary>
|
||||||
private readonly ILibraryManager _libraryManager;
|
private readonly ILibraryManager _libraryManager;
|
||||||
|
|
||||||
public MusicGenreImageProvider(IFileSystem fileSystem, IProviderManager providerManager, IApplicationPaths applicationPaths, IImageProcessor imageProcessor, ILibraryManager libraryManager) : base(fileSystem, providerManager, applicationPaths, imageProcessor)
|
public MusicGenreImageProvider(IFileSystem fileSystem, IProviderManager providerManager, IApplicationPaths applicationPaths, IImageProcessor imageProcessor, ILibraryManager libraryManager) : base(fileSystem, providerManager, applicationPaths, imageProcessor)
|
||||||
|
@ -27,6 +31,11 @@ namespace Emby.Server.Implementations.Images
|
||||||
_libraryManager = libraryManager;
|
_libraryManager = libraryManager;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Get children objects used to create an music genre image.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="item">The music genre used to create the image.</param>
|
||||||
|
/// <returns>Any relevant children objects.</returns>
|
||||||
protected override IReadOnlyList<BaseItem> GetItemsWithImages(BaseItem item)
|
protected override IReadOnlyList<BaseItem> GetItemsWithImages(BaseItem item)
|
||||||
{
|
{
|
||||||
return _libraryManager.GetItemList(new InternalItemsQuery
|
return _libraryManager.GetItemList(new InternalItemsQuery
|
||||||
|
@ -42,8 +51,14 @@ namespace Emby.Server.Implementations.Images
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Class GenreImageProvider.
|
||||||
|
/// </summary>
|
||||||
public class GenreImageProvider : BaseDynamicImageProvider<Genre>
|
public class GenreImageProvider : BaseDynamicImageProvider<Genre>
|
||||||
{
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// The library manager.
|
||||||
|
/// </summary>
|
||||||
private readonly ILibraryManager _libraryManager;
|
private readonly ILibraryManager _libraryManager;
|
||||||
|
|
||||||
public GenreImageProvider(IFileSystem fileSystem, IProviderManager providerManager, IApplicationPaths applicationPaths, IImageProcessor imageProcessor, ILibraryManager libraryManager) : base(fileSystem, providerManager, applicationPaths, imageProcessor)
|
public GenreImageProvider(IFileSystem fileSystem, IProviderManager providerManager, IApplicationPaths applicationPaths, IImageProcessor imageProcessor, ILibraryManager libraryManager) : base(fileSystem, providerManager, applicationPaths, imageProcessor)
|
||||||
|
@ -51,6 +66,11 @@ namespace Emby.Server.Implementations.Images
|
||||||
_libraryManager = libraryManager;
|
_libraryManager = libraryManager;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Get children objects used to create an genre image.
|
||||||
|
/// </summary>
|
||||||
|
/// <param name="item">The genre used to create the image.</param>
|
||||||
|
/// <returns>Any relevant children objects.</returns>
|
||||||
protected override IReadOnlyList<BaseItem> GetItemsWithImages(BaseItem item)
|
protected override IReadOnlyList<BaseItem> GetItemsWithImages(BaseItem item)
|
||||||
{
|
{
|
||||||
return _libraryManager.GetItemList(new InternalItemsQuery
|
return _libraryManager.GetItemList(new InternalItemsQuery
|
||||||
|
|
|
@ -101,5 +101,18 @@
|
||||||
"TaskRefreshLibrary": "Skann mediebibliotek",
|
"TaskRefreshLibrary": "Skann mediebibliotek",
|
||||||
"TaskRefreshChapterImagesDescription": "Lager forhåndsvisningsbilder for videoer som har kapitler.",
|
"TaskRefreshChapterImagesDescription": "Lager forhåndsvisningsbilder for videoer som har kapitler.",
|
||||||
"TaskRefreshChapterImages": "Trekk ut Kapittelbilder",
|
"TaskRefreshChapterImages": "Trekk ut Kapittelbilder",
|
||||||
"TaskCleanCacheDescription": "Sletter mellomlagrede filer som ikke lengre trengs av systemet."
|
"TaskCleanCacheDescription": "Sletter mellomlagrede filer som ikke lengre trengs av systemet.",
|
||||||
|
"TaskDownloadMissingSubtitlesDescription": "Søker etter manglende underteksting på nett basert på metadatakonfigurasjon.",
|
||||||
|
"TaskDownloadMissingSubtitles": "Last ned manglende underteksting",
|
||||||
|
"TaskRefreshChannelsDescription": "Frisker opp internettkanalinformasjon.",
|
||||||
|
"TaskRefreshChannels": "Oppfrisk kanaler",
|
||||||
|
"TaskCleanTranscodeDescription": "Sletter omkodede filer som er mer enn én dag gamle.",
|
||||||
|
"TaskCleanTranscode": "Tøm transkodingmappe",
|
||||||
|
"TaskUpdatePluginsDescription": "Laster ned og installerer oppdateringer for utvidelser som er stilt inn til å oppdatere automatisk.",
|
||||||
|
"TaskUpdatePlugins": "Oppdater utvidelser",
|
||||||
|
"TaskRefreshPeopleDescription": "Oppdaterer metadata for skuespillere og regissører i mediebiblioteket ditt.",
|
||||||
|
"TaskRefreshPeople": "Oppfrisk personer",
|
||||||
|
"TaskCleanLogsDescription": "Sletter loggfiler som er eldre enn {0} dager gamle.",
|
||||||
|
"TaskCleanLogs": "Tøm loggmappe",
|
||||||
|
"TaskRefreshLibraryDescription": "Skanner mediebibliotekene dine for nye filer og oppdaterer metadata."
|
||||||
}
|
}
|
||||||
|
|
|
@ -113,5 +113,6 @@
|
||||||
"TasksChannelsCategory": "Spletni kanali",
|
"TasksChannelsCategory": "Spletni kanali",
|
||||||
"TasksApplicationCategory": "Aplikacija",
|
"TasksApplicationCategory": "Aplikacija",
|
||||||
"TasksLibraryCategory": "Knjižnica",
|
"TasksLibraryCategory": "Knjižnica",
|
||||||
"TasksMaintenanceCategory": "Vzdrževanje"
|
"TasksMaintenanceCategory": "Vzdrževanje",
|
||||||
|
"TaskDownloadMissingSubtitlesDescription": "Na podlagi nastavitev metapodatkov poišče manjkajoče podnapise na internetu."
|
||||||
}
|
}
|
||||||
|
|
|
@ -4,7 +4,6 @@
|
||||||
<TargetFrameworks>netstandard2.0;netstandard2.1</TargetFrameworks>
|
<TargetFrameworks>netstandard2.0;netstandard2.1</TargetFrameworks>
|
||||||
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
|
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
|
||||||
<GenerateDocumentationFile>true</GenerateDocumentationFile>
|
<GenerateDocumentationFile>true</GenerateDocumentationFile>
|
||||||
<TreatWarningsAsErrors Condition=" '$(Configuration)' == 'Release' ">true</TreatWarningsAsErrors>
|
|
||||||
</PropertyGroup>
|
</PropertyGroup>
|
||||||
|
|
||||||
<PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
|
<PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
|
||||||
|
|
|
@ -872,9 +872,8 @@ namespace MediaBrowser.Api.Playback.Hls
|
||||||
|
|
||||||
if (framerate.HasValue)
|
if (framerate.HasValue)
|
||||||
{
|
{
|
||||||
builder.Append(",FRAME-RATE=\"")
|
builder.Append(",FRAME-RATE=")
|
||||||
.Append(framerate.Value)
|
.Append(framerate.Value);
|
||||||
.Append('"');
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -888,11 +887,10 @@ namespace MediaBrowser.Api.Playback.Hls
|
||||||
{
|
{
|
||||||
if (state.OutputWidth.HasValue && state.OutputHeight.HasValue)
|
if (state.OutputWidth.HasValue && state.OutputHeight.HasValue)
|
||||||
{
|
{
|
||||||
builder.Append(",RESOLUTION=\"")
|
builder.Append(",RESOLUTION=")
|
||||||
.Append(state.OutputWidth.GetValueOrDefault())
|
.Append(state.OutputWidth.GetValueOrDefault())
|
||||||
.Append('x')
|
.Append('x')
|
||||||
.Append(state.OutputHeight.GetValueOrDefault())
|
.Append(state.OutputHeight.GetValueOrDefault());
|
||||||
.Append('"');
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -0,0 +1,9 @@
|
||||||
|
using MediaBrowser.Model.Plugins;
|
||||||
|
|
||||||
|
namespace MediaBrowser.Providers.Plugins.Omdb
|
||||||
|
{
|
||||||
|
public class PluginConfiguration : BasePluginConfiguration
|
||||||
|
{
|
||||||
|
public bool CastAndCrew { get; set; }
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,49 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<title>OMDb</title>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div data-role="page" class="page type-interior pluginConfigurationPage configPage" data-require="emby-input,emby-button,emby-checkbox">
|
||||||
|
<div data-role="content">
|
||||||
|
<div class="content-primary">
|
||||||
|
<form class="configForm">
|
||||||
|
<label class="checkboxContainer">
|
||||||
|
<input is="emby-checkbox" type="checkbox" id="castAndCrew" />
|
||||||
|
<span>Collect information about the cast and other crew members from OMDb.</span>
|
||||||
|
</label>
|
||||||
|
<br />
|
||||||
|
<div>
|
||||||
|
<button is="emby-button" type="submit" class="raised button-submit block"><span>Save</span></button>
|
||||||
|
</div>
|
||||||
|
</form>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<script type="text/javascript">
|
||||||
|
var PluginConfig = {
|
||||||
|
pluginId: "a628c0da-fac5-4c7e-9d1a-7134223f14c8"
|
||||||
|
};
|
||||||
|
|
||||||
|
$('.configPage').on('pageshow', function () {
|
||||||
|
Dashboard.showLoadingMsg();
|
||||||
|
ApiClient.getPluginConfiguration(PluginConfig.pluginId).then(function (config) {
|
||||||
|
$('#castAndCrew').checked = config.CastAndCrew;
|
||||||
|
Dashboard.hideLoadingMsg();
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
$('.configForm').on('submit', function (e) {
|
||||||
|
Dashboard.showLoadingMsg();
|
||||||
|
|
||||||
|
var form = this;
|
||||||
|
ApiClient.getPluginConfiguration(PluginConfig.pluginId).then(function (config) {
|
||||||
|
config.CastAndCrew = $('#castAndCrew', form).checked;
|
||||||
|
ApiClient.updatePluginConfiguration(PluginConfig.pluginId, config).then(Dashboard.processPluginConfigurationUpdateResult);
|
||||||
|
});
|
||||||
|
|
||||||
|
return false;
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
</div>
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -92,6 +92,7 @@ namespace MediaBrowser.Providers.Plugins.Omdb
|
||||||
{
|
{
|
||||||
return item is Movie || item is Trailer || item is Episode;
|
return item is Movie || item is Trailer || item is Episode;
|
||||||
}
|
}
|
||||||
|
|
||||||
// After other internet providers, because they're better
|
// After other internet providers, because they're better
|
||||||
// But before fallback providers like screengrab
|
// But before fallback providers like screengrab
|
||||||
public int Order => 90;
|
public int Order => 90;
|
||||||
|
|
|
@ -103,6 +103,7 @@ namespace MediaBrowser.Providers.Plugins.Omdb
|
||||||
{
|
{
|
||||||
urlQuery += "&t=" + WebUtility.UrlEncode(name);
|
urlQuery += "&t=" + WebUtility.UrlEncode(name);
|
||||||
}
|
}
|
||||||
|
|
||||||
urlQuery += "&type=" + type;
|
urlQuery += "&type=" + type;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
@ -117,6 +118,7 @@ namespace MediaBrowser.Providers.Plugins.Omdb
|
||||||
{
|
{
|
||||||
urlQuery += string.Format(CultureInfo.InvariantCulture, "&Episode={0}", searchInfo.IndexNumber);
|
urlQuery += string.Format(CultureInfo.InvariantCulture, "&Episode={0}", searchInfo.IndexNumber);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (searchInfo.ParentIndexNumber.HasValue)
|
if (searchInfo.ParentIndexNumber.HasValue)
|
||||||
{
|
{
|
||||||
urlQuery += string.Format(CultureInfo.InvariantCulture, "&Season={0}", searchInfo.ParentIndexNumber);
|
urlQuery += string.Format(CultureInfo.InvariantCulture, "&Season={0}", searchInfo.ParentIndexNumber);
|
||||||
|
|
|
@ -87,10 +87,10 @@ namespace MediaBrowser.Providers.Plugins.Omdb
|
||||||
item.CommunityRating = imdbRating;
|
item.CommunityRating = imdbRating;
|
||||||
}
|
}
|
||||||
|
|
||||||
//if (!string.IsNullOrEmpty(result.Website))
|
if (!string.IsNullOrEmpty(result.Website))
|
||||||
//{
|
{
|
||||||
// item.HomePageUrl = result.Website;
|
item.HomePageUrl = result.Website;
|
||||||
//}
|
}
|
||||||
|
|
||||||
if (!string.IsNullOrWhiteSpace(result.imdbID))
|
if (!string.IsNullOrWhiteSpace(result.imdbID))
|
||||||
{
|
{
|
||||||
|
@ -121,7 +121,7 @@ namespace MediaBrowser.Providers.Plugins.Omdb
|
||||||
|
|
||||||
if (!string.IsNullOrWhiteSpace(episodeImdbId))
|
if (!string.IsNullOrWhiteSpace(episodeImdbId))
|
||||||
{
|
{
|
||||||
foreach (var episode in (seasonResult.Episodes ?? new RootObject[] { }))
|
foreach (var episode in seasonResult.Episodes)
|
||||||
{
|
{
|
||||||
if (string.Equals(episodeImdbId, episode.imdbID, StringComparison.OrdinalIgnoreCase))
|
if (string.Equals(episodeImdbId, episode.imdbID, StringComparison.OrdinalIgnoreCase))
|
||||||
{
|
{
|
||||||
|
@ -134,7 +134,7 @@ namespace MediaBrowser.Providers.Plugins.Omdb
|
||||||
// finally, search by numbers
|
// finally, search by numbers
|
||||||
if (result == null)
|
if (result == null)
|
||||||
{
|
{
|
||||||
foreach (var episode in (seasonResult.Episodes ?? new RootObject[] { }))
|
foreach (var episode in seasonResult.Episodes)
|
||||||
{
|
{
|
||||||
if (episode.Episode == episodeNumber)
|
if (episode.Episode == episodeNumber)
|
||||||
{
|
{
|
||||||
|
@ -188,10 +188,10 @@ namespace MediaBrowser.Providers.Plugins.Omdb
|
||||||
item.CommunityRating = imdbRating;
|
item.CommunityRating = imdbRating;
|
||||||
}
|
}
|
||||||
|
|
||||||
//if (!string.IsNullOrEmpty(result.Website))
|
if (!string.IsNullOrEmpty(result.Website))
|
||||||
//{
|
{
|
||||||
// item.HomePageUrl = result.Website;
|
item.HomePageUrl = result.Website;
|
||||||
//}
|
}
|
||||||
|
|
||||||
if (!string.IsNullOrWhiteSpace(result.imdbID))
|
if (!string.IsNullOrWhiteSpace(result.imdbID))
|
||||||
{
|
{
|
||||||
|
@ -263,6 +263,7 @@ namespace MediaBrowser.Providers.Plugins.Omdb
|
||||||
{
|
{
|
||||||
return url;
|
return url;
|
||||||
}
|
}
|
||||||
|
|
||||||
return url + "&" + query;
|
return url + "&" + query;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -386,7 +387,7 @@ namespace MediaBrowser.Providers.Plugins.Omdb
|
||||||
|
|
||||||
var isConfiguredForEnglish = IsConfiguredForEnglish(item) || _configurationManager.Configuration.EnableNewOmdbSupport;
|
var isConfiguredForEnglish = IsConfiguredForEnglish(item) || _configurationManager.Configuration.EnableNewOmdbSupport;
|
||||||
|
|
||||||
// Grab series genres because imdb data is better than tvdb. Leave movies alone
|
// Grab series genres because IMDb data is better than TVDB. Leave movies alone
|
||||||
// But only do it if english is the preferred language because this data will not be localized
|
// But only do it if english is the preferred language because this data will not be localized
|
||||||
if (isConfiguredForEnglish && !string.IsNullOrWhiteSpace(result.Genre))
|
if (isConfiguredForEnglish && !string.IsNullOrWhiteSpace(result.Genre))
|
||||||
{
|
{
|
||||||
|
@ -407,45 +408,50 @@ namespace MediaBrowser.Providers.Plugins.Omdb
|
||||||
item.Overview = result.Plot;
|
item.Overview = result.Plot;
|
||||||
}
|
}
|
||||||
|
|
||||||
//if (!string.IsNullOrWhiteSpace(result.Director))
|
if (!Plugin.Instance.Configuration.CastAndCrew)
|
||||||
//{
|
{
|
||||||
// var person = new PersonInfo
|
return;
|
||||||
// {
|
}
|
||||||
// Name = result.Director.Trim(),
|
|
||||||
// Type = PersonType.Director
|
|
||||||
// };
|
|
||||||
|
|
||||||
// itemResult.AddPerson(person);
|
if (!string.IsNullOrWhiteSpace(result.Director))
|
||||||
//}
|
{
|
||||||
|
var person = new PersonInfo
|
||||||
|
{
|
||||||
|
Name = result.Director.Trim(),
|
||||||
|
Type = PersonType.Director
|
||||||
|
};
|
||||||
|
|
||||||
//if (!string.IsNullOrWhiteSpace(result.Writer))
|
itemResult.AddPerson(person);
|
||||||
//{
|
}
|
||||||
// var person = new PersonInfo
|
|
||||||
// {
|
|
||||||
// Name = result.Director.Trim(),
|
|
||||||
// Type = PersonType.Writer
|
|
||||||
// };
|
|
||||||
|
|
||||||
// itemResult.AddPerson(person);
|
if (!string.IsNullOrWhiteSpace(result.Writer))
|
||||||
//}
|
{
|
||||||
|
var person = new PersonInfo
|
||||||
|
{
|
||||||
|
Name = result.Director.Trim(),
|
||||||
|
Type = PersonType.Writer
|
||||||
|
};
|
||||||
|
|
||||||
//if (!string.IsNullOrWhiteSpace(result.Actors))
|
itemResult.AddPerson(person);
|
||||||
//{
|
}
|
||||||
// var actorList = result.Actors.Split(',');
|
|
||||||
// foreach (var actor in actorList)
|
|
||||||
// {
|
|
||||||
// if (!string.IsNullOrWhiteSpace(actor))
|
|
||||||
// {
|
|
||||||
// var person = new PersonInfo
|
|
||||||
// {
|
|
||||||
// Name = actor.Trim(),
|
|
||||||
// Type = PersonType.Actor
|
|
||||||
// };
|
|
||||||
|
|
||||||
// itemResult.AddPerson(person);
|
if (!string.IsNullOrWhiteSpace(result.Actors))
|
||||||
// }
|
{
|
||||||
// }
|
var actorList = result.Actors.Split(',');
|
||||||
//}
|
foreach (var actor in actorList)
|
||||||
|
{
|
||||||
|
if (!string.IsNullOrWhiteSpace(actor))
|
||||||
|
{
|
||||||
|
var person = new PersonInfo
|
||||||
|
{
|
||||||
|
Name = actor.Trim(),
|
||||||
|
Type = PersonType.Actor
|
||||||
|
};
|
||||||
|
|
||||||
|
itemResult.AddPerson(person);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private bool IsConfiguredForEnglish(BaseItem item)
|
private bool IsConfiguredForEnglish(BaseItem item)
|
||||||
|
@ -459,40 +465,70 @@ namespace MediaBrowser.Providers.Plugins.Omdb
|
||||||
internal class SeasonRootObject
|
internal class SeasonRootObject
|
||||||
{
|
{
|
||||||
public string Title { get; set; }
|
public string Title { get; set; }
|
||||||
|
|
||||||
public string seriesID { get; set; }
|
public string seriesID { get; set; }
|
||||||
|
|
||||||
public int Season { get; set; }
|
public int Season { get; set; }
|
||||||
|
|
||||||
public int? totalSeasons { get; set; }
|
public int? totalSeasons { get; set; }
|
||||||
|
|
||||||
public RootObject[] Episodes { get; set; }
|
public RootObject[] Episodes { get; set; }
|
||||||
|
|
||||||
public string Response { get; set; }
|
public string Response { get; set; }
|
||||||
}
|
}
|
||||||
|
|
||||||
internal class RootObject
|
internal class RootObject
|
||||||
{
|
{
|
||||||
public string Title { get; set; }
|
public string Title { get; set; }
|
||||||
|
|
||||||
public string Year { get; set; }
|
public string Year { get; set; }
|
||||||
|
|
||||||
public string Rated { get; set; }
|
public string Rated { get; set; }
|
||||||
|
|
||||||
public string Released { get; set; }
|
public string Released { get; set; }
|
||||||
|
|
||||||
public string Runtime { get; set; }
|
public string Runtime { get; set; }
|
||||||
|
|
||||||
public string Genre { get; set; }
|
public string Genre { get; set; }
|
||||||
|
|
||||||
public string Director { get; set; }
|
public string Director { get; set; }
|
||||||
|
|
||||||
public string Writer { get; set; }
|
public string Writer { get; set; }
|
||||||
|
|
||||||
public string Actors { get; set; }
|
public string Actors { get; set; }
|
||||||
|
|
||||||
public string Plot { get; set; }
|
public string Plot { get; set; }
|
||||||
|
|
||||||
public string Language { get; set; }
|
public string Language { get; set; }
|
||||||
|
|
||||||
public string Country { get; set; }
|
public string Country { get; set; }
|
||||||
|
|
||||||
public string Awards { get; set; }
|
public string Awards { get; set; }
|
||||||
|
|
||||||
public string Poster { get; set; }
|
public string Poster { get; set; }
|
||||||
|
|
||||||
public List<OmdbRating> Ratings { get; set; }
|
public List<OmdbRating> Ratings { get; set; }
|
||||||
|
|
||||||
public string Metascore { get; set; }
|
public string Metascore { get; set; }
|
||||||
|
|
||||||
public string imdbRating { get; set; }
|
public string imdbRating { get; set; }
|
||||||
|
|
||||||
public string imdbVotes { get; set; }
|
public string imdbVotes { get; set; }
|
||||||
|
|
||||||
public string imdbID { get; set; }
|
public string imdbID { get; set; }
|
||||||
|
|
||||||
public string Type { get; set; }
|
public string Type { get; set; }
|
||||||
|
|
||||||
public string DVD { get; set; }
|
public string DVD { get; set; }
|
||||||
|
|
||||||
public string BoxOffice { get; set; }
|
public string BoxOffice { get; set; }
|
||||||
|
|
||||||
public string Production { get; set; }
|
public string Production { get; set; }
|
||||||
|
|
||||||
public string Website { get; set; }
|
public string Website { get; set; }
|
||||||
|
|
||||||
public string Response { get; set; }
|
public string Response { get; set; }
|
||||||
|
|
||||||
public int Episode { get; set; }
|
public int Episode { get; set; }
|
||||||
|
|
||||||
public float? GetRottenTomatoScore()
|
public float? GetRottenTomatoScore()
|
||||||
|
@ -509,12 +545,15 @@ namespace MediaBrowser.Providers.Plugins.Omdb
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public class OmdbRating
|
public class OmdbRating
|
||||||
{
|
{
|
||||||
public string Source { get; set; }
|
public string Source { get; set; }
|
||||||
|
|
||||||
public string Value { get; set; }
|
public string Value { get; set; }
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
35
MediaBrowser.Providers/Plugins/Omdb/Plugin.cs
Normal file
35
MediaBrowser.Providers/Plugins/Omdb/Plugin.cs
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using MediaBrowser.Common.Configuration;
|
||||||
|
using MediaBrowser.Common.Plugins;
|
||||||
|
using MediaBrowser.Model.Plugins;
|
||||||
|
using MediaBrowser.Model.Serialization;
|
||||||
|
|
||||||
|
namespace MediaBrowser.Providers.Plugins.Omdb
|
||||||
|
{
|
||||||
|
public class Plugin : BasePlugin<PluginConfiguration>, IHasWebPages
|
||||||
|
{
|
||||||
|
public static Plugin Instance { get; private set; }
|
||||||
|
|
||||||
|
public override Guid Id => new Guid("a628c0da-fac5-4c7e-9d1a-7134223f14c8");
|
||||||
|
|
||||||
|
public override string Name => "OMDb";
|
||||||
|
|
||||||
|
public override string Description => "Get metadata for movies and other video content from OMDb.";
|
||||||
|
|
||||||
|
public Plugin(IApplicationPaths applicationPaths, IXmlSerializer xmlSerializer)
|
||||||
|
: base(applicationPaths, xmlSerializer)
|
||||||
|
{
|
||||||
|
Instance = this;
|
||||||
|
}
|
||||||
|
|
||||||
|
public IEnumerable<PluginPageInfo> GetPages()
|
||||||
|
{
|
||||||
|
yield return new PluginPageInfo
|
||||||
|
{
|
||||||
|
Name = Name,
|
||||||
|
EmbeddedResourcePath = GetType().Namespace + ".Configuration.config.html"
|
||||||
|
};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,8 @@
|
||||||
|
using MediaBrowser.Model.Plugins;
|
||||||
|
|
||||||
|
namespace MediaBrowser.Providers.Plugins.TheTvdb
|
||||||
|
{
|
||||||
|
public class PluginConfiguration : BasePluginConfiguration
|
||||||
|
{
|
||||||
|
}
|
||||||
|
}
|
24
MediaBrowser.Providers/Plugins/TheTvdb/Plugin.cs
Normal file
24
MediaBrowser.Providers/Plugins/TheTvdb/Plugin.cs
Normal file
|
@ -0,0 +1,24 @@
|
||||||
|
using System;
|
||||||
|
using MediaBrowser.Common.Configuration;
|
||||||
|
using MediaBrowser.Common.Plugins;
|
||||||
|
using MediaBrowser.Model.Serialization;
|
||||||
|
|
||||||
|
namespace MediaBrowser.Providers.Plugins.TheTvdb
|
||||||
|
{
|
||||||
|
public class Plugin : BasePlugin<PluginConfiguration>
|
||||||
|
{
|
||||||
|
public static Plugin Instance { get; private set; }
|
||||||
|
|
||||||
|
public override Guid Id => new Guid("a677c0da-fac5-4cde-941a-7134223f14c8");
|
||||||
|
|
||||||
|
public override string Name => "TheTVDB";
|
||||||
|
|
||||||
|
public override string Description => "Get metadata for movies and other video content from TheTVDB.";
|
||||||
|
|
||||||
|
public Plugin(IApplicationPaths applicationPaths, IXmlSerializer xmlSerializer)
|
||||||
|
: base(applicationPaths, xmlSerializer)
|
||||||
|
{
|
||||||
|
Instance = this;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -120,6 +120,7 @@ namespace MediaBrowser.Providers.Plugins.TheTvdb
|
||||||
var cacheKey = GenerateKey("series", zap2ItId, language);
|
var cacheKey = GenerateKey("series", zap2ItId, language);
|
||||||
return TryGetValue(cacheKey, language, () => TvDbClient.Search.SearchSeriesByZap2ItIdAsync(zap2ItId, cancellationToken));
|
return TryGetValue(cacheKey, language, () => TvDbClient.Search.SearchSeriesByZap2ItIdAsync(zap2ItId, cancellationToken));
|
||||||
}
|
}
|
||||||
|
|
||||||
public Task<TvDbResponse<Actor[]>> GetActorsAsync(
|
public Task<TvDbResponse<Actor[]>> GetActorsAsync(
|
||||||
int tvdbId,
|
int tvdbId,
|
||||||
string language,
|
string language,
|
||||||
|
|
|
@ -14,9 +14,8 @@ using TvDbSharper.Dto;
|
||||||
|
|
||||||
namespace MediaBrowser.Providers.Plugins.TheTvdb
|
namespace MediaBrowser.Providers.Plugins.TheTvdb
|
||||||
{
|
{
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Class RemoteEpisodeProvider
|
/// Class RemoteEpisodeProvider.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public class TvdbEpisodeProvider : IRemoteMetadataProvider<Episode, EpisodeInfo>, IHasOrder
|
public class TvdbEpisodeProvider : IRemoteMetadataProvider<Episode, EpisodeInfo>, IHasOrder
|
||||||
{
|
{
|
||||||
|
@ -139,7 +138,6 @@ namespace MediaBrowser.Providers.Plugins.TheTvdb
|
||||||
Name = episode.EpisodeName,
|
Name = episode.EpisodeName,
|
||||||
Overview = episode.Overview,
|
Overview = episode.Overview,
|
||||||
CommunityRating = (float?)episode.SiteRating,
|
CommunityRating = (float?)episode.SiteRating,
|
||||||
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
result.ResetPeople();
|
result.ResetPeople();
|
||||||
|
|
|
@ -57,7 +57,6 @@ namespace MediaBrowser.Providers.Plugins.TheTvdb
|
||||||
{
|
{
|
||||||
EnableImages = false
|
EnableImages = false
|
||||||
}
|
}
|
||||||
|
|
||||||
}).Cast<Series>()
|
}).Cast<Series>()
|
||||||
.Where(i => TvdbSeriesProvider.IsValidSeries(i.ProviderIds))
|
.Where(i => TvdbSeriesProvider.IsValidSeries(i.ProviderIds))
|
||||||
.ToList();
|
.ToList();
|
||||||
|
|
|
@ -55,7 +55,7 @@ namespace MediaBrowser.Providers.Plugins.TheTvdb
|
||||||
|
|
||||||
if (series == null || !season.IndexNumber.HasValue || !TvdbSeriesProvider.IsValidSeries(series.ProviderIds))
|
if (series == null || !season.IndexNumber.HasValue || !TvdbSeriesProvider.IsValidSeries(series.ProviderIds))
|
||||||
{
|
{
|
||||||
return new RemoteImageInfo[] { };
|
return Array.Empty<RemoteImageInfo>();
|
||||||
}
|
}
|
||||||
|
|
||||||
var tvdbId = Convert.ToInt32(series.GetProviderId(MetadataProviders.Tvdb));
|
var tvdbId = Convert.ToInt32(series.GetProviderId(MetadataProviders.Tvdb));
|
||||||
|
@ -113,8 +113,8 @@ namespace MediaBrowser.Providers.Plugins.TheTvdb
|
||||||
imageInfo.Type = TvdbUtils.GetImageTypeFromKeyType(image.KeyType);
|
imageInfo.Type = TvdbUtils.GetImageTypeFromKeyType(image.KeyType);
|
||||||
list.Add(imageInfo);
|
list.Add(imageInfo);
|
||||||
}
|
}
|
||||||
var isLanguageEn = string.Equals(preferredLanguage, "en", StringComparison.OrdinalIgnoreCase);
|
|
||||||
|
|
||||||
|
var isLanguageEn = string.Equals(preferredLanguage, "en", StringComparison.OrdinalIgnoreCase);
|
||||||
return list.OrderByDescending(i =>
|
return list.OrderByDescending(i =>
|
||||||
{
|
{
|
||||||
if (string.Equals(preferredLanguage, i.Language, StringComparison.OrdinalIgnoreCase))
|
if (string.Equals(preferredLanguage, i.Language, StringComparison.OrdinalIgnoreCase))
|
||||||
|
|
|
@ -79,6 +79,7 @@ namespace MediaBrowser.Providers.Plugins.TheTvdb
|
||||||
tvdbId);
|
tvdbId);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return remoteImages;
|
return remoteImages;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -110,8 +111,8 @@ namespace MediaBrowser.Providers.Plugins.TheTvdb
|
||||||
imageInfo.Type = TvdbUtils.GetImageTypeFromKeyType(image.KeyType);
|
imageInfo.Type = TvdbUtils.GetImageTypeFromKeyType(image.KeyType);
|
||||||
list.Add(imageInfo);
|
list.Add(imageInfo);
|
||||||
}
|
}
|
||||||
var isLanguageEn = string.Equals(preferredLanguage, "en", StringComparison.OrdinalIgnoreCase);
|
|
||||||
|
|
||||||
|
var isLanguageEn = string.Equals(preferredLanguage, "en", StringComparison.OrdinalIgnoreCase);
|
||||||
return list.OrderByDescending(i =>
|
return list.OrderByDescending(i =>
|
||||||
{
|
{
|
||||||
if (string.Equals(preferredLanguage, i.Language, StringComparison.OrdinalIgnoreCase))
|
if (string.Equals(preferredLanguage, i.Language, StringComparison.OrdinalIgnoreCase))
|
||||||
|
|
|
@ -22,6 +22,7 @@ namespace MediaBrowser.Providers.Plugins.TheTvdb
|
||||||
public class TvdbSeriesProvider : IRemoteMetadataProvider<Series, SeriesInfo>, IHasOrder
|
public class TvdbSeriesProvider : IRemoteMetadataProvider<Series, SeriesInfo>, IHasOrder
|
||||||
{
|
{
|
||||||
internal static TvdbSeriesProvider Current { get; private set; }
|
internal static TvdbSeriesProvider Current { get; private set; }
|
||||||
|
|
||||||
private readonly IHttpClient _httpClient;
|
private readonly IHttpClient _httpClient;
|
||||||
private readonly ILogger _logger;
|
private readonly ILogger _logger;
|
||||||
private readonly ILibraryManager _libraryManager;
|
private readonly ILibraryManager _libraryManager;
|
||||||
|
@ -145,7 +146,6 @@ namespace MediaBrowser.Providers.Plugins.TheTvdb
|
||||||
|
|
||||||
private async Task<string> GetSeriesByRemoteId(string id, string idType, string language, CancellationToken cancellationToken)
|
private async Task<string> GetSeriesByRemoteId(string id, string idType, string language, CancellationToken cancellationToken)
|
||||||
{
|
{
|
||||||
|
|
||||||
TvDbResponse<SeriesSearchResult[]> result = null;
|
TvDbResponse<SeriesSearchResult[]> result = null;
|
||||||
|
|
||||||
try
|
try
|
||||||
|
@ -249,6 +249,7 @@ namespace MediaBrowser.Providers.Plugins.TheTvdb
|
||||||
ImageUrl = TvdbUtils.BannerUrl + seriesSearchResult.Banner
|
ImageUrl = TvdbUtils.BannerUrl + seriesSearchResult.Banner
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
var seriesSesult =
|
var seriesSesult =
|
||||||
|
@ -274,11 +275,12 @@ namespace MediaBrowser.Providers.Plugins.TheTvdb
|
||||||
}
|
}
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// The remove
|
/// The remove.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
const string remove = "\"'!`?";
|
const string remove = "\"'!`?";
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// The spacers
|
/// The spacers.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
const string spacers = "/,.:;\\(){}[]+-_=–*"; // (there are two types of dashes, short and long)
|
const string spacers = "/,.:;\\(){}[]+-_=–*"; // (there are two types of dashes, short and long)
|
||||||
|
|
||||||
|
@ -315,8 +317,8 @@ namespace MediaBrowser.Providers.Plugins.TheTvdb
|
||||||
sb.Append(c);
|
sb.Append(c);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
sb.Replace(", the", string.Empty).Replace("the ", " ").Replace(" the ", " ");
|
|
||||||
|
|
||||||
|
sb.Replace(", the", string.Empty).Replace("the ", " ").Replace(" the ", " ");
|
||||||
return Regex.Replace(sb.ToString().Trim(), @"\s+", " ");
|
return Regex.Replace(sb.ToString().Trim(), @"\s+", " ");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -3,7 +3,7 @@ using MediaBrowser.Controller.Entities.Movies;
|
||||||
using MediaBrowser.Controller.Providers;
|
using MediaBrowser.Controller.Providers;
|
||||||
using MediaBrowser.Model.Entities;
|
using MediaBrowser.Model.Entities;
|
||||||
|
|
||||||
namespace MediaBrowser.Providers.Tmdb.BoxSets
|
namespace MediaBrowser.Providers.Plugins.Tmdb.BoxSets
|
||||||
{
|
{
|
||||||
public class TmdbBoxSetExternalId : IExternalId
|
public class TmdbBoxSetExternalId : IExternalId
|
||||||
{
|
{
|
|
@ -10,11 +10,11 @@ using MediaBrowser.Controller.Providers;
|
||||||
using MediaBrowser.Model.Dto;
|
using MediaBrowser.Model.Dto;
|
||||||
using MediaBrowser.Model.Entities;
|
using MediaBrowser.Model.Entities;
|
||||||
using MediaBrowser.Model.Providers;
|
using MediaBrowser.Model.Providers;
|
||||||
using MediaBrowser.Providers.Tmdb.Models.Collections;
|
using MediaBrowser.Providers.Plugins.Tmdb.Models.Collections;
|
||||||
using MediaBrowser.Providers.Tmdb.Models.General;
|
using MediaBrowser.Providers.Plugins.Tmdb.Models.General;
|
||||||
using MediaBrowser.Providers.Tmdb.Movies;
|
using MediaBrowser.Providers.Plugins.Tmdb.Movies;
|
||||||
|
|
||||||
namespace MediaBrowser.Providers.Tmdb.BoxSets
|
namespace MediaBrowser.Providers.Plugins.Tmdb.BoxSets
|
||||||
{
|
{
|
||||||
public class TmdbBoxSetImageProvider : IRemoteImageProvider, IHasOrder
|
public class TmdbBoxSetImageProvider : IRemoteImageProvider, IHasOrder
|
||||||
{
|
{
|
||||||
|
@ -105,6 +105,7 @@ namespace MediaBrowser.Providers.Tmdb.BoxSets
|
||||||
{
|
{
|
||||||
return 3;
|
return 3;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!isLanguageEn)
|
if (!isLanguageEn)
|
||||||
{
|
{
|
||||||
if (string.Equals("en", i.Language, StringComparison.OrdinalIgnoreCase))
|
if (string.Equals("en", i.Language, StringComparison.OrdinalIgnoreCase))
|
||||||
|
@ -112,10 +113,12 @@ namespace MediaBrowser.Providers.Tmdb.BoxSets
|
||||||
return 2;
|
return 2;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (string.IsNullOrEmpty(i.Language))
|
if (string.IsNullOrEmpty(i.Language))
|
||||||
{
|
{
|
||||||
return isLanguageEn ? 3 : 2;
|
return isLanguageEn ? 3 : 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
})
|
})
|
||||||
.ThenByDescending(i => i.CommunityRating ?? 0)
|
.ThenByDescending(i => i.CommunityRating ?? 0)
|
|
@ -16,12 +16,12 @@ using MediaBrowser.Model.Globalization;
|
||||||
using MediaBrowser.Model.IO;
|
using MediaBrowser.Model.IO;
|
||||||
using MediaBrowser.Model.Providers;
|
using MediaBrowser.Model.Providers;
|
||||||
using MediaBrowser.Model.Serialization;
|
using MediaBrowser.Model.Serialization;
|
||||||
using MediaBrowser.Providers.Tmdb.Models.Collections;
|
using MediaBrowser.Providers.Plugins.Tmdb.Models.Collections;
|
||||||
using MediaBrowser.Providers.Tmdb.Models.General;
|
using MediaBrowser.Providers.Plugins.Tmdb.Models.General;
|
||||||
using MediaBrowser.Providers.Tmdb.Movies;
|
using MediaBrowser.Providers.Plugins.Tmdb.Movies;
|
||||||
using Microsoft.Extensions.Logging;
|
using Microsoft.Extensions.Logging;
|
||||||
|
|
||||||
namespace MediaBrowser.Providers.Tmdb.BoxSets
|
namespace MediaBrowser.Providers.Plugins.Tmdb.BoxSets
|
||||||
{
|
{
|
||||||
public class TmdbBoxSetProvider : IRemoteMetadataProvider<BoxSet, BoxSetInfo>
|
public class TmdbBoxSetProvider : IRemoteMetadataProvider<BoxSet, BoxSetInfo>
|
||||||
{
|
{
|
||||||
|
@ -78,9 +78,7 @@ namespace MediaBrowser.Providers.Tmdb.BoxSets
|
||||||
var result = new RemoteSearchResult
|
var result = new RemoteSearchResult
|
||||||
{
|
{
|
||||||
Name = info.Name,
|
Name = info.Name,
|
||||||
|
|
||||||
SearchProviderName = Name,
|
SearchProviderName = Name,
|
||||||
|
|
||||||
ImageUrl = images.Count == 0 ? null : (tmdbImageUrl + images[0].File_Path)
|
ImageUrl = images.Count == 0 ? null : (tmdbImageUrl + images[0].File_Path)
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -191,7 +189,6 @@ namespace MediaBrowser.Providers.Tmdb.BoxSets
|
||||||
Url = url,
|
Url = url,
|
||||||
CancellationToken = cancellationToken,
|
CancellationToken = cancellationToken,
|
||||||
AcceptHeader = TmdbUtils.AcceptHeader
|
AcceptHeader = TmdbUtils.AcceptHeader
|
||||||
|
|
||||||
}).ConfigureAwait(false))
|
}).ConfigureAwait(false))
|
||||||
{
|
{
|
||||||
using (var json = response.Content)
|
using (var json = response.Content)
|
||||||
|
@ -219,7 +216,6 @@ namespace MediaBrowser.Providers.Tmdb.BoxSets
|
||||||
Url = url,
|
Url = url,
|
||||||
CancellationToken = cancellationToken,
|
CancellationToken = cancellationToken,
|
||||||
AcceptHeader = TmdbUtils.AcceptHeader
|
AcceptHeader = TmdbUtils.AcceptHeader
|
||||||
|
|
||||||
}).ConfigureAwait(false))
|
}).ConfigureAwait(false))
|
||||||
{
|
{
|
||||||
using (var json = response.Content)
|
using (var json = response.Content)
|
||||||
|
@ -229,6 +225,7 @@ namespace MediaBrowser.Providers.Tmdb.BoxSets
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
return mainResult;
|
return mainResult;
|
||||||
}
|
}
|
||||||
|
|
|
@ -1,7 +1,7 @@
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using MediaBrowser.Providers.Tmdb.Models.General;
|
using MediaBrowser.Providers.Plugins.Tmdb.Models.General;
|
||||||
|
|
||||||
namespace MediaBrowser.Providers.Tmdb.Models.Collections
|
namespace MediaBrowser.Providers.Plugins.Tmdb.Models.Collections
|
||||||
{
|
{
|
||||||
public class CollectionImages
|
public class CollectionImages
|
||||||
{
|
{
|
|
@ -1,6 +1,6 @@
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
|
||||||
namespace MediaBrowser.Providers.Tmdb.Models.Collections
|
namespace MediaBrowser.Providers.Plugins.Tmdb.Models.Collections
|
||||||
{
|
{
|
||||||
public class CollectionResult
|
public class CollectionResult
|
||||||
{
|
{
|
|
@ -1,4 +1,4 @@
|
||||||
namespace MediaBrowser.Providers.Tmdb.Models.Collections
|
namespace MediaBrowser.Providers.Plugins.Tmdb.Models.Collections
|
||||||
{
|
{
|
||||||
public class Part
|
public class Part
|
||||||
{
|
{
|
|
@ -1,4 +1,4 @@
|
||||||
namespace MediaBrowser.Providers.Tmdb.Models.General
|
namespace MediaBrowser.Providers.Plugins.Tmdb.Models.General
|
||||||
{
|
{
|
||||||
public class Backdrop
|
public class Backdrop
|
||||||
{
|
{
|
|
@ -1,4 +1,4 @@
|
||||||
namespace MediaBrowser.Providers.Tmdb.Models.General
|
namespace MediaBrowser.Providers.Plugins.Tmdb.Models.General
|
||||||
{
|
{
|
||||||
public class Crew
|
public class Crew
|
||||||
{
|
{
|
|
@ -1,4 +1,4 @@
|
||||||
namespace MediaBrowser.Providers.Tmdb.Models.General
|
namespace MediaBrowser.Providers.Plugins.Tmdb.Models.General
|
||||||
{
|
{
|
||||||
public class ExternalIds
|
public class ExternalIds
|
||||||
{
|
{
|
|
@ -1,4 +1,4 @@
|
||||||
namespace MediaBrowser.Providers.Tmdb.Models.General
|
namespace MediaBrowser.Providers.Plugins.Tmdb.Models.General
|
||||||
{
|
{
|
||||||
public class Genre
|
public class Genre
|
||||||
{
|
{
|
|
@ -1,6 +1,6 @@
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
|
||||||
namespace MediaBrowser.Providers.Tmdb.Models.General
|
namespace MediaBrowser.Providers.Plugins.Tmdb.Models.General
|
||||||
{
|
{
|
||||||
public class Images
|
public class Images
|
||||||
{
|
{
|
|
@ -1,4 +1,4 @@
|
||||||
namespace MediaBrowser.Providers.Tmdb.Models.General
|
namespace MediaBrowser.Providers.Plugins.Tmdb.Models.General
|
||||||
{
|
{
|
||||||
public class Keyword
|
public class Keyword
|
||||||
{
|
{
|
|
@ -1,6 +1,6 @@
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
|
||||||
namespace MediaBrowser.Providers.Tmdb.Models.General
|
namespace MediaBrowser.Providers.Plugins.Tmdb.Models.General
|
||||||
{
|
{
|
||||||
public class Keywords
|
public class Keywords
|
||||||
{
|
{
|
|
@ -1,4 +1,4 @@
|
||||||
namespace MediaBrowser.Providers.Tmdb.Models.General
|
namespace MediaBrowser.Providers.Plugins.Tmdb.Models.General
|
||||||
{
|
{
|
||||||
public class Poster
|
public class Poster
|
||||||
{
|
{
|
|
@ -1,4 +1,4 @@
|
||||||
namespace MediaBrowser.Providers.Tmdb.Models.General
|
namespace MediaBrowser.Providers.Plugins.Tmdb.Models.General
|
||||||
{
|
{
|
||||||
public class Profile
|
public class Profile
|
||||||
{
|
{
|
|
@ -1,4 +1,4 @@
|
||||||
namespace MediaBrowser.Providers.Tmdb.Models.General
|
namespace MediaBrowser.Providers.Plugins.Tmdb.Models.General
|
||||||
{
|
{
|
||||||
public class Still
|
public class Still
|
||||||
{
|
{
|
|
@ -1,6 +1,6 @@
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
|
||||||
namespace MediaBrowser.Providers.Tmdb.Models.General
|
namespace MediaBrowser.Providers.Plugins.Tmdb.Models.General
|
||||||
{
|
{
|
||||||
public class StillImages
|
public class StillImages
|
||||||
{
|
{
|
|
@ -1,4 +1,4 @@
|
||||||
namespace MediaBrowser.Providers.Tmdb.Models.General
|
namespace MediaBrowser.Providers.Plugins.Tmdb.Models.General
|
||||||
{
|
{
|
||||||
public class Video
|
public class Video
|
||||||
{
|
{
|
|
@ -1,6 +1,6 @@
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
|
||||||
namespace MediaBrowser.Providers.Tmdb.Models.General
|
namespace MediaBrowser.Providers.Plugins.Tmdb.Models.General
|
||||||
{
|
{
|
||||||
public class Videos
|
public class Videos
|
||||||
{
|
{
|
|
@ -1,4 +1,4 @@
|
||||||
namespace MediaBrowser.Providers.Tmdb.Models.Movies
|
namespace MediaBrowser.Providers.Plugins.Tmdb.Models.Movies
|
||||||
{
|
{
|
||||||
public class BelongsToCollection
|
public class BelongsToCollection
|
||||||
{
|
{
|
|
@ -1,4 +1,4 @@
|
||||||
namespace MediaBrowser.Providers.Tmdb.Models.Movies
|
namespace MediaBrowser.Providers.Plugins.Tmdb.Models.Movies
|
||||||
{
|
{
|
||||||
public class Cast
|
public class Cast
|
||||||
{
|
{
|
|
@ -1,7 +1,7 @@
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using MediaBrowser.Providers.Tmdb.Models.General;
|
using MediaBrowser.Providers.Plugins.Tmdb.Models.General;
|
||||||
|
|
||||||
namespace MediaBrowser.Providers.Tmdb.Models.Movies
|
namespace MediaBrowser.Providers.Plugins.Tmdb.Models.Movies
|
||||||
{
|
{
|
||||||
public class Casts
|
public class Casts
|
||||||
{
|
{
|
|
@ -1,6 +1,6 @@
|
||||||
using System;
|
using System;
|
||||||
|
|
||||||
namespace MediaBrowser.Providers.Tmdb.Models.Movies
|
namespace MediaBrowser.Providers.Plugins.Tmdb.Models.Movies
|
||||||
{
|
{
|
||||||
public class Country
|
public class Country
|
||||||
{
|
{
|
|
@ -1,7 +1,7 @@
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using MediaBrowser.Providers.Tmdb.Models.General;
|
using MediaBrowser.Providers.Plugins.Tmdb.Models.General;
|
||||||
|
|
||||||
namespace MediaBrowser.Providers.Tmdb.Models.Movies
|
namespace MediaBrowser.Providers.Plugins.Tmdb.Models.Movies
|
||||||
{
|
{
|
||||||
public class MovieResult
|
public class MovieResult
|
||||||
{
|
{
|
|
@ -1,4 +1,4 @@
|
||||||
namespace MediaBrowser.Providers.Tmdb.Models.Movies
|
namespace MediaBrowser.Providers.Plugins.Tmdb.Models.Movies
|
||||||
{
|
{
|
||||||
public class ProductionCompany
|
public class ProductionCompany
|
||||||
{
|
{
|
|
@ -1,4 +1,4 @@
|
||||||
namespace MediaBrowser.Providers.Tmdb.Models.Movies
|
namespace MediaBrowser.Providers.Plugins.Tmdb.Models.Movies
|
||||||
{
|
{
|
||||||
public class ProductionCountry
|
public class ProductionCountry
|
||||||
{
|
{
|
|
@ -1,6 +1,6 @@
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
|
||||||
namespace MediaBrowser.Providers.Tmdb.Models.Movies
|
namespace MediaBrowser.Providers.Plugins.Tmdb.Models.Movies
|
||||||
{
|
{
|
||||||
public class Releases
|
public class Releases
|
||||||
{
|
{
|
|
@ -1,4 +1,4 @@
|
||||||
namespace MediaBrowser.Providers.Tmdb.Models.Movies
|
namespace MediaBrowser.Providers.Plugins.Tmdb.Models.Movies
|
||||||
{
|
{
|
||||||
public class SpokenLanguage
|
public class SpokenLanguage
|
||||||
{
|
{
|
|
@ -1,6 +1,6 @@
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
|
||||||
namespace MediaBrowser.Providers.Tmdb.Models.Movies
|
namespace MediaBrowser.Providers.Plugins.Tmdb.Models.Movies
|
||||||
{
|
{
|
||||||
public class Trailers
|
public class Trailers
|
||||||
{
|
{
|
|
@ -1,4 +1,4 @@
|
||||||
namespace MediaBrowser.Providers.Tmdb.Models.Movies
|
namespace MediaBrowser.Providers.Plugins.Tmdb.Models.Movies
|
||||||
{
|
{
|
||||||
public class Youtube
|
public class Youtube
|
||||||
{
|
{
|
|
@ -1,7 +1,7 @@
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using MediaBrowser.Providers.Tmdb.Models.General;
|
using MediaBrowser.Providers.Plugins.Tmdb.Models.General;
|
||||||
|
|
||||||
namespace MediaBrowser.Providers.Tmdb.Models.People
|
namespace MediaBrowser.Providers.Plugins.Tmdb.Models.People
|
||||||
{
|
{
|
||||||
public class PersonImages
|
public class PersonImages
|
||||||
{
|
{
|
|
@ -1,7 +1,7 @@
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using MediaBrowser.Providers.Tmdb.Models.General;
|
using MediaBrowser.Providers.Plugins.Tmdb.Models.General;
|
||||||
|
|
||||||
namespace MediaBrowser.Providers.Tmdb.Models.People
|
namespace MediaBrowser.Providers.Plugins.Tmdb.Models.People
|
||||||
{
|
{
|
||||||
public class PersonResult
|
public class PersonResult
|
||||||
{
|
{
|
|
@ -1,6 +1,6 @@
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
|
||||||
namespace MediaBrowser.Providers.Tmdb.Models.Search
|
namespace MediaBrowser.Providers.Plugins.Tmdb.Models.Search
|
||||||
{
|
{
|
||||||
public class ExternalIdLookupResult
|
public class ExternalIdLookupResult
|
||||||
{
|
{
|
|
@ -1,4 +1,4 @@
|
||||||
namespace MediaBrowser.Providers.Tmdb.Models.Search
|
namespace MediaBrowser.Providers.Plugins.Tmdb.Models.Search
|
||||||
{
|
{
|
||||||
public class MovieResult
|
public class MovieResult
|
||||||
{
|
{
|
|
@ -1,4 +1,4 @@
|
||||||
namespace MediaBrowser.Providers.Tmdb.Models.Search
|
namespace MediaBrowser.Providers.Plugins.Tmdb.Models.Search
|
||||||
{
|
{
|
||||||
public class PersonSearchResult
|
public class PersonSearchResult
|
||||||
{
|
{
|
|
@ -1,6 +1,6 @@
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
|
||||||
namespace MediaBrowser.Providers.Tmdb.Models.Search
|
namespace MediaBrowser.Providers.Plugins.Tmdb.Models.Search
|
||||||
{
|
{
|
||||||
public class TmdbSearchResult<T>
|
public class TmdbSearchResult<T>
|
||||||
{
|
{
|
|
@ -1,4 +1,4 @@
|
||||||
namespace MediaBrowser.Providers.Tmdb.Models.Search
|
namespace MediaBrowser.Providers.Plugins.Tmdb.Models.Search
|
||||||
{
|
{
|
||||||
public class TvResult
|
public class TvResult
|
||||||
{
|
{
|
|
@ -1,4 +1,4 @@
|
||||||
namespace MediaBrowser.Providers.Tmdb.Models.TV
|
namespace MediaBrowser.Providers.Plugins.Tmdb.Models.TV
|
||||||
{
|
{
|
||||||
public class Cast
|
public class Cast
|
||||||
{
|
{
|
|
@ -1,4 +1,4 @@
|
||||||
namespace MediaBrowser.Providers.Tmdb.Models.TV
|
namespace MediaBrowser.Providers.Plugins.Tmdb.Models.TV
|
||||||
{
|
{
|
||||||
public class ContentRating
|
public class ContentRating
|
||||||
{
|
{
|
|
@ -1,6 +1,6 @@
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
|
||||||
namespace MediaBrowser.Providers.Tmdb.Models.TV
|
namespace MediaBrowser.Providers.Plugins.Tmdb.Models.TV
|
||||||
{
|
{
|
||||||
public class ContentRatings
|
public class ContentRatings
|
||||||
{
|
{
|
|
@ -1,4 +1,4 @@
|
||||||
namespace MediaBrowser.Providers.Tmdb.Models.TV
|
namespace MediaBrowser.Providers.Plugins.Tmdb.Models.TV
|
||||||
{
|
{
|
||||||
public class CreatedBy
|
public class CreatedBy
|
||||||
{
|
{
|
|
@ -1,7 +1,7 @@
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using MediaBrowser.Providers.Tmdb.Models.General;
|
using MediaBrowser.Providers.Plugins.Tmdb.Models.General;
|
||||||
|
|
||||||
namespace MediaBrowser.Providers.Tmdb.Models.TV
|
namespace MediaBrowser.Providers.Plugins.Tmdb.Models.TV
|
||||||
{
|
{
|
||||||
public class Credits
|
public class Credits
|
||||||
{
|
{
|
|
@ -1,4 +1,4 @@
|
||||||
namespace MediaBrowser.Providers.Tmdb.Models.TV
|
namespace MediaBrowser.Providers.Plugins.Tmdb.Models.TV
|
||||||
{
|
{
|
||||||
public class Episode
|
public class Episode
|
||||||
{
|
{
|
|
@ -1,7 +1,7 @@
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using MediaBrowser.Providers.Tmdb.Models.General;
|
using MediaBrowser.Providers.Plugins.Tmdb.Models.General;
|
||||||
|
|
||||||
namespace MediaBrowser.Providers.Tmdb.Models.TV
|
namespace MediaBrowser.Providers.Plugins.Tmdb.Models.TV
|
||||||
{
|
{
|
||||||
public class EpisodeCredits
|
public class EpisodeCredits
|
||||||
{
|
{
|
|
@ -1,7 +1,7 @@
|
||||||
using System;
|
using System;
|
||||||
using MediaBrowser.Providers.Tmdb.Models.General;
|
using MediaBrowser.Providers.Plugins.Tmdb.Models.General;
|
||||||
|
|
||||||
namespace MediaBrowser.Providers.Tmdb.Models.TV
|
namespace MediaBrowser.Providers.Plugins.Tmdb.Models.TV
|
||||||
{
|
{
|
||||||
public class EpisodeResult
|
public class EpisodeResult
|
||||||
{
|
{
|
|
@ -1,4 +1,4 @@
|
||||||
namespace MediaBrowser.Providers.Tmdb.Models.TV
|
namespace MediaBrowser.Providers.Plugins.Tmdb.Models.TV
|
||||||
{
|
{
|
||||||
public class GuestStar
|
public class GuestStar
|
||||||
{
|
{
|
|
@ -1,4 +1,4 @@
|
||||||
namespace MediaBrowser.Providers.Tmdb.Models.TV
|
namespace MediaBrowser.Providers.Plugins.Tmdb.Models.TV
|
||||||
{
|
{
|
||||||
public class Network
|
public class Network
|
||||||
{
|
{
|
|
@ -1,4 +1,4 @@
|
||||||
namespace MediaBrowser.Providers.Tmdb.Models.TV
|
namespace MediaBrowser.Providers.Plugins.Tmdb.Models.TV
|
||||||
{
|
{
|
||||||
public class Season
|
public class Season
|
||||||
{
|
{
|
|
@ -1,7 +1,7 @@
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using MediaBrowser.Providers.Tmdb.Models.General;
|
using MediaBrowser.Providers.Plugins.Tmdb.Models.General;
|
||||||
|
|
||||||
namespace MediaBrowser.Providers.Tmdb.Models.TV
|
namespace MediaBrowser.Providers.Plugins.Tmdb.Models.TV
|
||||||
{
|
{
|
||||||
public class SeasonImages
|
public class SeasonImages
|
||||||
{
|
{
|
|
@ -1,8 +1,8 @@
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using MediaBrowser.Providers.Tmdb.Models.General;
|
using MediaBrowser.Providers.Plugins.Tmdb.Models.General;
|
||||||
|
|
||||||
namespace MediaBrowser.Providers.Tmdb.Models.TV
|
namespace MediaBrowser.Providers.Plugins.Tmdb.Models.TV
|
||||||
{
|
{
|
||||||
public class SeasonResult
|
public class SeasonResult
|
||||||
{
|
{
|
|
@ -1,8 +1,8 @@
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using MediaBrowser.Providers.Tmdb.Models.General;
|
using MediaBrowser.Providers.Plugins.Tmdb.Models.General;
|
||||||
|
|
||||||
namespace MediaBrowser.Providers.Tmdb.Models.TV
|
namespace MediaBrowser.Providers.Plugins.Tmdb.Models.TV
|
||||||
{
|
{
|
||||||
public class SeriesResult
|
public class SeriesResult
|
||||||
{
|
{
|
|
@ -13,10 +13,10 @@ using MediaBrowser.Controller.Providers;
|
||||||
using MediaBrowser.Model.Entities;
|
using MediaBrowser.Model.Entities;
|
||||||
using MediaBrowser.Model.IO;
|
using MediaBrowser.Model.IO;
|
||||||
using MediaBrowser.Model.Serialization;
|
using MediaBrowser.Model.Serialization;
|
||||||
using MediaBrowser.Providers.Tmdb.Models.Movies;
|
using MediaBrowser.Providers.Plugins.Tmdb.Models.Movies;
|
||||||
using Microsoft.Extensions.Logging;
|
using Microsoft.Extensions.Logging;
|
||||||
|
|
||||||
namespace MediaBrowser.Providers.Tmdb.Movies
|
namespace MediaBrowser.Providers.Plugins.Tmdb.Movies
|
||||||
{
|
{
|
||||||
public class GenericTmdbMovieInfo<T>
|
public class GenericTmdbMovieInfo<T>
|
||||||
where T : BaseItem, new()
|
where T : BaseItem, new()
|
|
@ -13,10 +13,10 @@ using MediaBrowser.Model.Entities;
|
||||||
using MediaBrowser.Model.IO;
|
using MediaBrowser.Model.IO;
|
||||||
using MediaBrowser.Model.Providers;
|
using MediaBrowser.Model.Providers;
|
||||||
using MediaBrowser.Model.Serialization;
|
using MediaBrowser.Model.Serialization;
|
||||||
using MediaBrowser.Providers.Tmdb.Models.General;
|
using MediaBrowser.Providers.Plugins.Tmdb.Models.General;
|
||||||
using MediaBrowser.Providers.Tmdb.Models.Movies;
|
using MediaBrowser.Providers.Plugins.Tmdb.Models.Movies;
|
||||||
|
|
||||||
namespace MediaBrowser.Providers.Tmdb.Movies
|
namespace MediaBrowser.Providers.Plugins.Tmdb.Movies
|
||||||
{
|
{
|
||||||
public class TmdbImageProvider : IRemoteImageProvider, IHasOrder
|
public class TmdbImageProvider : IRemoteImageProvider, IHasOrder
|
||||||
{
|
{
|
|
@ -4,7 +4,7 @@ using MediaBrowser.Controller.LiveTv;
|
||||||
using MediaBrowser.Controller.Providers;
|
using MediaBrowser.Controller.Providers;
|
||||||
using MediaBrowser.Model.Entities;
|
using MediaBrowser.Model.Entities;
|
||||||
|
|
||||||
namespace MediaBrowser.Providers.Tmdb.Movies
|
namespace MediaBrowser.Providers.Plugins.Tmdb.Movies
|
||||||
{
|
{
|
||||||
public class TmdbMovieExternalId : IExternalId
|
public class TmdbMovieExternalId : IExternalId
|
||||||
{
|
{
|
|
@ -15,15 +15,14 @@ using MediaBrowser.Controller.Entities.Movies;
|
||||||
using MediaBrowser.Controller.Library;
|
using MediaBrowser.Controller.Library;
|
||||||
using MediaBrowser.Controller.Providers;
|
using MediaBrowser.Controller.Providers;
|
||||||
using MediaBrowser.Model.Entities;
|
using MediaBrowser.Model.Entities;
|
||||||
using MediaBrowser.Model.Globalization;
|
|
||||||
using MediaBrowser.Model.IO;
|
using MediaBrowser.Model.IO;
|
||||||
using MediaBrowser.Model.Net;
|
using MediaBrowser.Model.Net;
|
||||||
using MediaBrowser.Model.Providers;
|
using MediaBrowser.Model.Providers;
|
||||||
using MediaBrowser.Model.Serialization;
|
using MediaBrowser.Model.Serialization;
|
||||||
using MediaBrowser.Providers.Tmdb.Models.Movies;
|
using MediaBrowser.Providers.Plugins.Tmdb.Models.Movies;
|
||||||
using Microsoft.Extensions.Logging;
|
using Microsoft.Extensions.Logging;
|
||||||
|
|
||||||
namespace MediaBrowser.Providers.Tmdb.Movies
|
namespace MediaBrowser.Providers.Plugins.Tmdb.Movies
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Class MovieDbProvider
|
/// Class MovieDbProvider
|
|
@ -3,19 +3,19 @@ using System.Collections.Generic;
|
||||||
using System.Globalization;
|
using System.Globalization;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Net;
|
using System.Net;
|
||||||
|
using System.Text.RegularExpressions;
|
||||||
using System.Threading;
|
using System.Threading;
|
||||||
using System.Threading.Tasks;
|
using System.Threading.Tasks;
|
||||||
using System.Text.RegularExpressions;
|
|
||||||
using MediaBrowser.Common.Net;
|
using MediaBrowser.Common.Net;
|
||||||
using MediaBrowser.Controller.Library;
|
using MediaBrowser.Controller.Library;
|
||||||
using MediaBrowser.Controller.Providers;
|
using MediaBrowser.Controller.Providers;
|
||||||
using MediaBrowser.Model.Entities;
|
using MediaBrowser.Model.Entities;
|
||||||
using MediaBrowser.Model.Providers;
|
using MediaBrowser.Model.Providers;
|
||||||
using MediaBrowser.Model.Serialization;
|
using MediaBrowser.Model.Serialization;
|
||||||
using MediaBrowser.Providers.Tmdb.Models.Search;
|
using MediaBrowser.Providers.Plugins.Tmdb.Models.Search;
|
||||||
using Microsoft.Extensions.Logging;
|
using Microsoft.Extensions.Logging;
|
||||||
|
|
||||||
namespace MediaBrowser.Providers.Tmdb.Movies
|
namespace MediaBrowser.Providers.Plugins.Tmdb.Movies
|
||||||
{
|
{
|
||||||
public class TmdbSearch
|
public class TmdbSearch
|
||||||
{
|
{
|
|
@ -1,6 +1,6 @@
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
|
|
||||||
namespace MediaBrowser.Providers.Tmdb.Movies
|
namespace MediaBrowser.Providers.Plugins.Tmdb.Movies
|
||||||
{
|
{
|
||||||
internal class TmdbImageSettings
|
internal class TmdbImageSettings
|
||||||
{
|
{
|
|
@ -6,9 +6,9 @@ using MediaBrowser.Common.Net;
|
||||||
using MediaBrowser.Controller.Entities;
|
using MediaBrowser.Controller.Entities;
|
||||||
using MediaBrowser.Controller.Providers;
|
using MediaBrowser.Controller.Providers;
|
||||||
using MediaBrowser.Model.Providers;
|
using MediaBrowser.Model.Providers;
|
||||||
using MediaBrowser.Providers.Tmdb.Movies;
|
using MediaBrowser.Providers.Plugins.Tmdb.Movies;
|
||||||
|
|
||||||
namespace MediaBrowser.Providers.Tmdb.Music
|
namespace MediaBrowser.Providers.Plugins.Tmdb.Music
|
||||||
{
|
{
|
||||||
public class TmdbMusicVideoProvider : IRemoteMetadataProvider<MusicVideo, MusicVideoInfo>
|
public class TmdbMusicVideoProvider : IRemoteMetadataProvider<MusicVideo, MusicVideoInfo>
|
||||||
{
|
{
|
|
@ -2,7 +2,7 @@ using MediaBrowser.Controller.Entities;
|
||||||
using MediaBrowser.Controller.Providers;
|
using MediaBrowser.Controller.Providers;
|
||||||
using MediaBrowser.Model.Entities;
|
using MediaBrowser.Model.Entities;
|
||||||
|
|
||||||
namespace MediaBrowser.Providers.Tmdb.People
|
namespace MediaBrowser.Providers.Plugins.Tmdb.People
|
||||||
{
|
{
|
||||||
public class TmdbPersonExternalId : IExternalId
|
public class TmdbPersonExternalId : IExternalId
|
||||||
{
|
{
|
|
@ -10,11 +10,11 @@ using MediaBrowser.Controller.Providers;
|
||||||
using MediaBrowser.Model.Entities;
|
using MediaBrowser.Model.Entities;
|
||||||
using MediaBrowser.Model.Providers;
|
using MediaBrowser.Model.Providers;
|
||||||
using MediaBrowser.Model.Serialization;
|
using MediaBrowser.Model.Serialization;
|
||||||
using MediaBrowser.Providers.Tmdb.Models.General;
|
using MediaBrowser.Providers.Plugins.Tmdb.Models.General;
|
||||||
using MediaBrowser.Providers.Tmdb.Models.People;
|
using MediaBrowser.Providers.Plugins.Tmdb.Models.People;
|
||||||
using MediaBrowser.Providers.Tmdb.Movies;
|
using MediaBrowser.Providers.Plugins.Tmdb.Movies;
|
||||||
|
|
||||||
namespace MediaBrowser.Providers.Tmdb.People
|
namespace MediaBrowser.Providers.Plugins.Tmdb.People
|
||||||
{
|
{
|
||||||
public class TmdbPersonImageProvider : IRemoteImageProvider, IHasOrder
|
public class TmdbPersonImageProvider : IRemoteImageProvider, IHasOrder
|
||||||
{
|
{
|
|
@ -17,13 +17,13 @@ using MediaBrowser.Model.IO;
|
||||||
using MediaBrowser.Model.Net;
|
using MediaBrowser.Model.Net;
|
||||||
using MediaBrowser.Model.Providers;
|
using MediaBrowser.Model.Providers;
|
||||||
using MediaBrowser.Model.Serialization;
|
using MediaBrowser.Model.Serialization;
|
||||||
using MediaBrowser.Providers.Tmdb.Models.General;
|
using MediaBrowser.Providers.Plugins.Tmdb.Models.General;
|
||||||
using MediaBrowser.Providers.Tmdb.Models.People;
|
using MediaBrowser.Providers.Plugins.Tmdb.Models.People;
|
||||||
using MediaBrowser.Providers.Tmdb.Models.Search;
|
using MediaBrowser.Providers.Plugins.Tmdb.Models.Search;
|
||||||
using MediaBrowser.Providers.Tmdb.Movies;
|
using MediaBrowser.Providers.Plugins.Tmdb.Movies;
|
||||||
using Microsoft.Extensions.Logging;
|
using Microsoft.Extensions.Logging;
|
||||||
|
|
||||||
namespace MediaBrowser.Providers.Tmdb.People
|
namespace MediaBrowser.Providers.Plugins.Tmdb.People
|
||||||
{
|
{
|
||||||
public class TmdbPersonProvider : IRemoteMetadataProvider<Person, PersonLookupInfo>
|
public class TmdbPersonProvider : IRemoteMetadataProvider<Person, PersonLookupInfo>
|
||||||
{
|
{
|
|
@ -13,11 +13,11 @@ using MediaBrowser.Model.Globalization;
|
||||||
using MediaBrowser.Model.IO;
|
using MediaBrowser.Model.IO;
|
||||||
using MediaBrowser.Model.Providers;
|
using MediaBrowser.Model.Providers;
|
||||||
using MediaBrowser.Model.Serialization;
|
using MediaBrowser.Model.Serialization;
|
||||||
using MediaBrowser.Providers.Tmdb.Models.General;
|
using MediaBrowser.Providers.Plugins.Tmdb.Models.General;
|
||||||
using MediaBrowser.Providers.Tmdb.Movies;
|
using MediaBrowser.Providers.Plugins.Tmdb.Movies;
|
||||||
using Microsoft.Extensions.Logging;
|
using Microsoft.Extensions.Logging;
|
||||||
|
|
||||||
namespace MediaBrowser.Providers.Tmdb.TV
|
namespace MediaBrowser.Providers.Plugins.Tmdb.TV
|
||||||
{
|
{
|
||||||
public class TmdbEpisodeImageProvider :
|
public class TmdbEpisodeImageProvider :
|
||||||
TmdbEpisodeProviderBase,
|
TmdbEpisodeProviderBase,
|
||||||
|
@ -80,7 +80,6 @@ namespace MediaBrowser.Providers.Tmdb.TV
|
||||||
RatingType = RatingType.Score
|
RatingType = RatingType.Score
|
||||||
}));
|
}));
|
||||||
|
|
||||||
|
|
||||||
var isLanguageEn = string.Equals(language, "en", StringComparison.OrdinalIgnoreCase);
|
var isLanguageEn = string.Equals(language, "en", StringComparison.OrdinalIgnoreCase);
|
||||||
|
|
||||||
return list.OrderByDescending(i =>
|
return list.OrderByDescending(i =>
|
||||||
|
@ -89,6 +88,7 @@ namespace MediaBrowser.Providers.Tmdb.TV
|
||||||
{
|
{
|
||||||
return 3;
|
return 3;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!isLanguageEn)
|
if (!isLanguageEn)
|
||||||
{
|
{
|
||||||
if (string.Equals("en", i.Language, StringComparison.OrdinalIgnoreCase))
|
if (string.Equals("en", i.Language, StringComparison.OrdinalIgnoreCase))
|
||||||
|
@ -96,15 +96,16 @@ namespace MediaBrowser.Providers.Tmdb.TV
|
||||||
return 2;
|
return 2;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (string.IsNullOrEmpty(i.Language))
|
if (string.IsNullOrEmpty(i.Language))
|
||||||
{
|
{
|
||||||
return isLanguageEn ? 3 : 2;
|
return isLanguageEn ? 3 : 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
})
|
})
|
||||||
.ThenByDescending(i => i.CommunityRating ?? 0)
|
.ThenByDescending(i => i.CommunityRating ?? 0)
|
||||||
.ThenByDescending(i => i.VoteCount ?? 0);
|
.ThenByDescending(i => i.VoteCount ?? 0);
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private IEnumerable<Still> GetPosters(StillImages images)
|
private IEnumerable<Still> GetPosters(StillImages images)
|
||||||
|
@ -112,7 +113,6 @@ namespace MediaBrowser.Providers.Tmdb.TV
|
||||||
return images.Stills ?? new List<Still>();
|
return images.Stills ?? new List<Still>();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
public Task<HttpResponseInfo> GetImageResponse(string url, CancellationToken cancellationToken)
|
public Task<HttpResponseInfo> GetImageResponse(string url, CancellationToken cancellationToken)
|
||||||
{
|
{
|
||||||
return GetResponse(url, cancellationToken);
|
return GetResponse(url, cancellationToken);
|
|
@ -18,7 +18,7 @@ using MediaBrowser.Model.Providers;
|
||||||
using MediaBrowser.Model.Serialization;
|
using MediaBrowser.Model.Serialization;
|
||||||
using Microsoft.Extensions.Logging;
|
using Microsoft.Extensions.Logging;
|
||||||
|
|
||||||
namespace MediaBrowser.Providers.Tmdb.TV
|
namespace MediaBrowser.Providers.Plugins.Tmdb.TV
|
||||||
{
|
{
|
||||||
public class TmdbEpisodeProvider :
|
public class TmdbEpisodeProvider :
|
||||||
TmdbEpisodeProviderBase,
|
TmdbEpisodeProviderBase,
|
||||||
|
@ -203,6 +203,7 @@ namespace MediaBrowser.Providers.Tmdb.TV
|
||||||
{
|
{
|
||||||
return GetResponse(url, cancellationToken);
|
return GetResponse(url, cancellationToken);
|
||||||
}
|
}
|
||||||
|
|
||||||
// After TheTvDb
|
// After TheTvDb
|
||||||
public int Order => 1;
|
public int Order => 1;
|
||||||
|
|
|
@ -8,11 +8,11 @@ using MediaBrowser.Controller.Configuration;
|
||||||
using MediaBrowser.Model.Globalization;
|
using MediaBrowser.Model.Globalization;
|
||||||
using MediaBrowser.Model.IO;
|
using MediaBrowser.Model.IO;
|
||||||
using MediaBrowser.Model.Serialization;
|
using MediaBrowser.Model.Serialization;
|
||||||
using MediaBrowser.Providers.Tmdb.Models.TV;
|
using MediaBrowser.Providers.Plugins.Tmdb.Models.TV;
|
||||||
using MediaBrowser.Providers.Tmdb.Movies;
|
using MediaBrowser.Providers.Plugins.Tmdb.Movies;
|
||||||
using Microsoft.Extensions.Logging;
|
using Microsoft.Extensions.Logging;
|
||||||
|
|
||||||
namespace MediaBrowser.Providers.Tmdb.TV
|
namespace MediaBrowser.Providers.Plugins.Tmdb.TV
|
||||||
{
|
{
|
||||||
public abstract class TmdbEpisodeProviderBase
|
public abstract class TmdbEpisodeProviderBase
|
||||||
{
|
{
|
||||||
|
@ -53,6 +53,7 @@ namespace MediaBrowser.Providers.Tmdb.TV
|
||||||
{
|
{
|
||||||
throw new ArgumentNullException(nameof(tmdbId));
|
throw new ArgumentNullException(nameof(tmdbId));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (string.IsNullOrEmpty(language))
|
if (string.IsNullOrEmpty(language))
|
||||||
{
|
{
|
||||||
throw new ArgumentNullException(nameof(language));
|
throw new ArgumentNullException(nameof(language));
|
||||||
|
@ -80,6 +81,7 @@ namespace MediaBrowser.Providers.Tmdb.TV
|
||||||
{
|
{
|
||||||
throw new ArgumentNullException(nameof(tmdbId));
|
throw new ArgumentNullException(nameof(tmdbId));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (string.IsNullOrEmpty(preferredLanguage))
|
if (string.IsNullOrEmpty(preferredLanguage))
|
||||||
{
|
{
|
||||||
throw new ArgumentNullException(nameof(preferredLanguage));
|
throw new ArgumentNullException(nameof(preferredLanguage));
|
|
@ -12,10 +12,10 @@ using MediaBrowser.Model.Dto;
|
||||||
using MediaBrowser.Model.Entities;
|
using MediaBrowser.Model.Entities;
|
||||||
using MediaBrowser.Model.Providers;
|
using MediaBrowser.Model.Providers;
|
||||||
using MediaBrowser.Model.Serialization;
|
using MediaBrowser.Model.Serialization;
|
||||||
using MediaBrowser.Providers.Tmdb.Models.General;
|
using MediaBrowser.Providers.Plugins.Tmdb.Models.General;
|
||||||
using MediaBrowser.Providers.Tmdb.Movies;
|
using MediaBrowser.Providers.Plugins.Tmdb.Movies;
|
||||||
|
|
||||||
namespace MediaBrowser.Providers.Tmdb.TV
|
namespace MediaBrowser.Providers.Plugins.Tmdb.TV
|
||||||
{
|
{
|
||||||
public class TmdbSeasonImageProvider : IRemoteImageProvider, IHasOrder
|
public class TmdbSeasonImageProvider : IRemoteImageProvider, IHasOrder
|
||||||
{
|
{
|
|
@ -14,12 +14,12 @@ using MediaBrowser.Model.IO;
|
||||||
using MediaBrowser.Model.Net;
|
using MediaBrowser.Model.Net;
|
||||||
using MediaBrowser.Model.Providers;
|
using MediaBrowser.Model.Providers;
|
||||||
using MediaBrowser.Model.Serialization;
|
using MediaBrowser.Model.Serialization;
|
||||||
using MediaBrowser.Providers.Tmdb.Models.TV;
|
using MediaBrowser.Providers.Plugins.Tmdb.Models.TV;
|
||||||
using MediaBrowser.Providers.Tmdb.Movies;
|
using MediaBrowser.Providers.Plugins.Tmdb.Movies;
|
||||||
using Microsoft.Extensions.Logging;
|
using Microsoft.Extensions.Logging;
|
||||||
using Season = MediaBrowser.Controller.Entities.TV.Season;
|
using Season = MediaBrowser.Controller.Entities.TV.Season;
|
||||||
|
|
||||||
namespace MediaBrowser.Providers.Tmdb.TV
|
namespace MediaBrowser.Providers.Plugins.Tmdb.TV
|
||||||
{
|
{
|
||||||
public class TmdbSeasonProvider : IRemoteMetadataProvider<Season, SeasonInfo>
|
public class TmdbSeasonProvider : IRemoteMetadataProvider<Season, SeasonInfo>
|
||||||
{
|
{
|
||||||
|
@ -145,6 +145,7 @@ namespace MediaBrowser.Providers.Tmdb.TV
|
||||||
{
|
{
|
||||||
throw new ArgumentNullException(nameof(tmdbId));
|
throw new ArgumentNullException(nameof(tmdbId));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (string.IsNullOrEmpty(language))
|
if (string.IsNullOrEmpty(language))
|
||||||
{
|
{
|
||||||
throw new ArgumentNullException(nameof(language));
|
throw new ArgumentNullException(nameof(language));
|
||||||
|
@ -172,6 +173,7 @@ namespace MediaBrowser.Providers.Tmdb.TV
|
||||||
{
|
{
|
||||||
throw new ArgumentNullException(nameof(tmdbId));
|
throw new ArgumentNullException(nameof(tmdbId));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (string.IsNullOrEmpty(preferredLanguage))
|
if (string.IsNullOrEmpty(preferredLanguage))
|
||||||
{
|
{
|
||||||
throw new ArgumentNullException(nameof(preferredLanguage));
|
throw new ArgumentNullException(nameof(preferredLanguage));
|
||||||
|
@ -216,7 +218,6 @@ namespace MediaBrowser.Providers.Tmdb.TV
|
||||||
Url = url,
|
Url = url,
|
||||||
CancellationToken = cancellationToken,
|
CancellationToken = cancellationToken,
|
||||||
AcceptHeader = TmdbUtils.AcceptHeader
|
AcceptHeader = TmdbUtils.AcceptHeader
|
||||||
|
|
||||||
}).ConfigureAwait(false))
|
}).ConfigureAwait(false))
|
||||||
{
|
{
|
||||||
using (var json = response.Content)
|
using (var json = response.Content)
|
|
@ -2,7 +2,7 @@ using MediaBrowser.Controller.Entities.TV;
|
||||||
using MediaBrowser.Controller.Providers;
|
using MediaBrowser.Controller.Providers;
|
||||||
using MediaBrowser.Model.Entities;
|
using MediaBrowser.Model.Entities;
|
||||||
|
|
||||||
namespace MediaBrowser.Providers.Tmdb.TV
|
namespace MediaBrowser.Providers.Plugins.Tmdb.TV
|
||||||
{
|
{
|
||||||
public class TmdbSeriesExternalId : IExternalId
|
public class TmdbSeriesExternalId : IExternalId
|
||||||
{
|
{
|
|
@ -12,11 +12,11 @@ using MediaBrowser.Model.Entities;
|
||||||
using MediaBrowser.Model.IO;
|
using MediaBrowser.Model.IO;
|
||||||
using MediaBrowser.Model.Providers;
|
using MediaBrowser.Model.Providers;
|
||||||
using MediaBrowser.Model.Serialization;
|
using MediaBrowser.Model.Serialization;
|
||||||
using MediaBrowser.Providers.Tmdb.Models.General;
|
using MediaBrowser.Providers.Plugins.Tmdb.Models.General;
|
||||||
using MediaBrowser.Providers.Tmdb.Models.TV;
|
using MediaBrowser.Providers.Plugins.Tmdb.Models.TV;
|
||||||
using MediaBrowser.Providers.Tmdb.Movies;
|
using MediaBrowser.Providers.Plugins.Tmdb.Movies;
|
||||||
|
|
||||||
namespace MediaBrowser.Providers.Tmdb.TV
|
namespace MediaBrowser.Providers.Plugins.Tmdb.TV
|
||||||
{
|
{
|
||||||
public class TmdbSeriesImageProvider : IRemoteImageProvider, IHasOrder
|
public class TmdbSeriesImageProvider : IRemoteImageProvider, IHasOrder
|
||||||
{
|
{
|
||||||
|
@ -99,6 +99,7 @@ namespace MediaBrowser.Providers.Tmdb.TV
|
||||||
{
|
{
|
||||||
return 3;
|
return 3;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!isLanguageEn)
|
if (!isLanguageEn)
|
||||||
{
|
{
|
||||||
if (string.Equals("en", i.Language, StringComparison.OrdinalIgnoreCase))
|
if (string.Equals("en", i.Language, StringComparison.OrdinalIgnoreCase))
|
||||||
|
@ -106,10 +107,12 @@ namespace MediaBrowser.Providers.Tmdb.TV
|
||||||
return 2;
|
return 2;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (string.IsNullOrEmpty(i.Language))
|
if (string.IsNullOrEmpty(i.Language))
|
||||||
{
|
{
|
||||||
return isLanguageEn ? 3 : 2;
|
return isLanguageEn ? 3 : 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
})
|
})
|
||||||
.ThenByDescending(i => i.CommunityRating ?? 0)
|
.ThenByDescending(i => i.CommunityRating ?? 0)
|
||||||
|
@ -171,6 +174,7 @@ namespace MediaBrowser.Providers.Tmdb.TV
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|
||||||
// After tvdb and fanart
|
// After tvdb and fanart
|
||||||
public int Order => 2;
|
public int Order => 2;
|
||||||
|
|
|
@ -17,12 +17,12 @@ using MediaBrowser.Model.Globalization;
|
||||||
using MediaBrowser.Model.IO;
|
using MediaBrowser.Model.IO;
|
||||||
using MediaBrowser.Model.Providers;
|
using MediaBrowser.Model.Providers;
|
||||||
using MediaBrowser.Model.Serialization;
|
using MediaBrowser.Model.Serialization;
|
||||||
using MediaBrowser.Providers.Tmdb.Models.Search;
|
using MediaBrowser.Providers.Plugins.Tmdb.Models.Search;
|
||||||
using MediaBrowser.Providers.Tmdb.Models.TV;
|
using MediaBrowser.Providers.Plugins.Tmdb.Models.TV;
|
||||||
using MediaBrowser.Providers.Tmdb.Movies;
|
using MediaBrowser.Providers.Plugins.Tmdb.Movies;
|
||||||
using Microsoft.Extensions.Logging;
|
using Microsoft.Extensions.Logging;
|
||||||
|
|
||||||
namespace MediaBrowser.Providers.Tmdb.TV
|
namespace MediaBrowser.Providers.Plugins.Tmdb.TV
|
||||||
{
|
{
|
||||||
public class TmdbSeriesProvider : IRemoteMetadataProvider<Series, SeriesInfo>, IHasOrder
|
public class TmdbSeriesProvider : IRemoteMetadataProvider<Series, SeriesInfo>, IHasOrder
|
||||||
{
|
{
|
||||||
|
@ -263,10 +263,12 @@ namespace MediaBrowser.Providers.Tmdb.TV
|
||||||
{
|
{
|
||||||
series.SetProviderId(MetadataProviders.Imdb, ids.Imdb_Id);
|
series.SetProviderId(MetadataProviders.Imdb, ids.Imdb_Id);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ids.Tvrage_Id > 0)
|
if (ids.Tvrage_Id > 0)
|
||||||
{
|
{
|
||||||
series.SetProviderId(MetadataProviders.TvRage, ids.Tvrage_Id.ToString(_usCulture));
|
series.SetProviderId(MetadataProviders.TvRage, ids.Tvrage_Id.ToString(_usCulture));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (ids.Tvdb_Id > 0)
|
if (ids.Tvdb_Id > 0)
|
||||||
{
|
{
|
||||||
series.SetProviderId(MetadataProviders.Tvdb, ids.Tvdb_Id.ToString(_usCulture));
|
series.SetProviderId(MetadataProviders.Tvdb, ids.Tvdb_Id.ToString(_usCulture));
|
||||||
|
@ -416,7 +418,6 @@ namespace MediaBrowser.Providers.Tmdb.TV
|
||||||
Url = url,
|
Url = url,
|
||||||
CancellationToken = cancellationToken,
|
CancellationToken = cancellationToken,
|
||||||
AcceptHeader = TmdbUtils.AcceptHeader
|
AcceptHeader = TmdbUtils.AcceptHeader
|
||||||
|
|
||||||
}).ConfigureAwait(false))
|
}).ConfigureAwait(false))
|
||||||
{
|
{
|
||||||
using (var json = response.Content)
|
using (var json = response.Content)
|
||||||
|
@ -453,7 +454,6 @@ namespace MediaBrowser.Providers.Tmdb.TV
|
||||||
Url = url,
|
Url = url,
|
||||||
CancellationToken = cancellationToken,
|
CancellationToken = cancellationToken,
|
||||||
AcceptHeader = TmdbUtils.AcceptHeader
|
AcceptHeader = TmdbUtils.AcceptHeader
|
||||||
|
|
||||||
}).ConfigureAwait(false))
|
}).ConfigureAwait(false))
|
||||||
{
|
{
|
||||||
using (var json = response.Content)
|
using (var json = response.Content)
|
||||||
|
@ -518,7 +518,6 @@ namespace MediaBrowser.Providers.Tmdb.TV
|
||||||
Url = url,
|
Url = url,
|
||||||
CancellationToken = cancellationToken,
|
CancellationToken = cancellationToken,
|
||||||
AcceptHeader = TmdbUtils.AcceptHeader
|
AcceptHeader = TmdbUtils.AcceptHeader
|
||||||
|
|
||||||
}).ConfigureAwait(false))
|
}).ConfigureAwait(false))
|
||||||
{
|
{
|
||||||
using (var json = response.Content)
|
using (var json = response.Content)
|
|
@ -1,11 +1,11 @@
|
||||||
using System;
|
using System;
|
||||||
using MediaBrowser.Model.Entities;
|
using MediaBrowser.Model.Entities;
|
||||||
using MediaBrowser.Providers.Tmdb.Models.General;
|
using MediaBrowser.Providers.Plugins.Tmdb.Models.General;
|
||||||
|
|
||||||
namespace MediaBrowser.Providers.Tmdb
|
namespace MediaBrowser.Providers.Plugins.Tmdb
|
||||||
{
|
{
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Utilities for the TMDb provider
|
/// Utilities for the TMDb provider.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public static class TmdbUtils
|
public static class TmdbUtils
|
||||||
{
|
{
|
|
@ -5,9 +5,9 @@ using MediaBrowser.Common.Net;
|
||||||
using MediaBrowser.Controller.Entities;
|
using MediaBrowser.Controller.Entities;
|
||||||
using MediaBrowser.Controller.Providers;
|
using MediaBrowser.Controller.Providers;
|
||||||
using MediaBrowser.Model.Providers;
|
using MediaBrowser.Model.Providers;
|
||||||
using MediaBrowser.Providers.Tmdb.Movies;
|
using MediaBrowser.Providers.Plugins.Tmdb.Movies;
|
||||||
|
|
||||||
namespace MediaBrowser.Providers.Tmdb.Trailers
|
namespace MediaBrowser.Providers.Plugins.Tmdb.Trailers
|
||||||
{
|
{
|
||||||
public class TmdbTrailerProvider : IHasOrder, IRemoteMetadataProvider<Trailer, TrailerInfo>
|
public class TmdbTrailerProvider : IHasOrder, IRemoteMetadataProvider<Trailer, TrailerInfo>
|
||||||
{
|
{
|
Loading…
Reference in a new issue