Browse Source

Merge remote-tracking branch 'upstream/master' into ilogger

crobibero 5 years ago
parent
commit
0982b73c11
86 changed files with 379 additions and 202 deletions
  1. 12 9
      MediaBrowser.Model/Configuration/ServerConfiguration.cs
  2. 9 0
      MediaBrowser.Providers/Plugins/Omdb/Configuration/PluginConfiguration.cs
  3. 49 0
      MediaBrowser.Providers/Plugins/Omdb/Configuration/config.html
  4. 1 0
      MediaBrowser.Providers/Plugins/Omdb/OmdbImageProvider.cs
  5. 2 0
      MediaBrowser.Providers/Plugins/Omdb/OmdbItemProvider.cs
  6. 89 50
      MediaBrowser.Providers/Plugins/Omdb/OmdbProvider.cs
  7. 35 0
      MediaBrowser.Providers/Plugins/Omdb/Plugin.cs
  8. 8 0
      MediaBrowser.Providers/Plugins/TheTvdb/Configuration/PluginConfiguration.cs
  9. 24 0
      MediaBrowser.Providers/Plugins/TheTvdb/Plugin.cs
  10. 2 1
      MediaBrowser.Providers/Plugins/TheTvdb/TvdbClientManager.cs
  11. 1 3
      MediaBrowser.Providers/Plugins/TheTvdb/TvdbEpisodeProvider.cs
  12. 0 1
      MediaBrowser.Providers/Plugins/TheTvdb/TvdbPersonImageProvider.cs
  13. 2 2
      MediaBrowser.Providers/Plugins/TheTvdb/TvdbSeasonImageProvider.cs
  14. 2 1
      MediaBrowser.Providers/Plugins/TheTvdb/TvdbSeriesImageProvider.cs
  15. 6 4
      MediaBrowser.Providers/Plugins/TheTvdb/TvdbSeriesProvider.cs
  16. 1 1
      MediaBrowser.Providers/Plugins/Tmdb/BoxSets/TmdbBoxSetExternalId.cs
  17. 7 4
      MediaBrowser.Providers/Plugins/Tmdb/BoxSets/TmdbBoxSetImageProvider.cs
  18. 5 8
      MediaBrowser.Providers/Plugins/Tmdb/BoxSets/TmdbBoxSetProvider.cs
  19. 2 2
      MediaBrowser.Providers/Plugins/Tmdb/Models/Collections/CollectionImages.cs
  20. 1 1
      MediaBrowser.Providers/Plugins/Tmdb/Models/Collections/CollectionResult.cs
  21. 1 1
      MediaBrowser.Providers/Plugins/Tmdb/Models/Collections/Part.cs
  22. 1 1
      MediaBrowser.Providers/Plugins/Tmdb/Models/General/Backdrop.cs
  23. 1 1
      MediaBrowser.Providers/Plugins/Tmdb/Models/General/Crew.cs
  24. 1 1
      MediaBrowser.Providers/Plugins/Tmdb/Models/General/ExternalIds.cs
  25. 1 1
      MediaBrowser.Providers/Plugins/Tmdb/Models/General/Genre.cs
  26. 1 1
      MediaBrowser.Providers/Plugins/Tmdb/Models/General/Images.cs
  27. 1 1
      MediaBrowser.Providers/Plugins/Tmdb/Models/General/Keyword.cs
  28. 1 1
      MediaBrowser.Providers/Plugins/Tmdb/Models/General/Keywords.cs
  29. 1 1
      MediaBrowser.Providers/Plugins/Tmdb/Models/General/Poster.cs
  30. 1 1
      MediaBrowser.Providers/Plugins/Tmdb/Models/General/Profile.cs
  31. 1 1
      MediaBrowser.Providers/Plugins/Tmdb/Models/General/Still.cs
  32. 1 1
      MediaBrowser.Providers/Plugins/Tmdb/Models/General/StillImages.cs
  33. 1 1
      MediaBrowser.Providers/Plugins/Tmdb/Models/General/Video.cs
  34. 1 1
      MediaBrowser.Providers/Plugins/Tmdb/Models/General/Videos.cs
  35. 1 1
      MediaBrowser.Providers/Plugins/Tmdb/Models/Movies/BelongsToCollection.cs
  36. 1 1
      MediaBrowser.Providers/Plugins/Tmdb/Models/Movies/Cast.cs
  37. 2 2
      MediaBrowser.Providers/Plugins/Tmdb/Models/Movies/Casts.cs
  38. 1 1
      MediaBrowser.Providers/Plugins/Tmdb/Models/Movies/Country.cs
  39. 2 2
      MediaBrowser.Providers/Plugins/Tmdb/Models/Movies/MovieResult.cs
  40. 1 1
      MediaBrowser.Providers/Plugins/Tmdb/Models/Movies/ProductionCompany.cs
  41. 1 1
      MediaBrowser.Providers/Plugins/Tmdb/Models/Movies/ProductionCountry.cs
  42. 1 1
      MediaBrowser.Providers/Plugins/Tmdb/Models/Movies/Releases.cs
  43. 1 1
      MediaBrowser.Providers/Plugins/Tmdb/Models/Movies/SpokenLanguage.cs
  44. 1 1
      MediaBrowser.Providers/Plugins/Tmdb/Models/Movies/Trailers.cs
  45. 1 1
      MediaBrowser.Providers/Plugins/Tmdb/Models/Movies/Youtube.cs
  46. 2 2
      MediaBrowser.Providers/Plugins/Tmdb/Models/People/PersonImages.cs
  47. 2 2
      MediaBrowser.Providers/Plugins/Tmdb/Models/People/PersonResult.cs
  48. 1 1
      MediaBrowser.Providers/Plugins/Tmdb/Models/Search/ExternalIdLookupResult.cs
  49. 1 1
      MediaBrowser.Providers/Plugins/Tmdb/Models/Search/MovieResult.cs
  50. 1 1
      MediaBrowser.Providers/Plugins/Tmdb/Models/Search/PersonSearchResult.cs
  51. 1 1
      MediaBrowser.Providers/Plugins/Tmdb/Models/Search/TmdbSearchResult.cs
  52. 1 1
      MediaBrowser.Providers/Plugins/Tmdb/Models/Search/TvResult.cs
  53. 1 1
      MediaBrowser.Providers/Plugins/Tmdb/Models/TV/Cast.cs
  54. 1 1
      MediaBrowser.Providers/Plugins/Tmdb/Models/TV/ContentRating.cs
  55. 1 1
      MediaBrowser.Providers/Plugins/Tmdb/Models/TV/ContentRatings.cs
  56. 1 1
      MediaBrowser.Providers/Plugins/Tmdb/Models/TV/CreatedBy.cs
  57. 2 2
      MediaBrowser.Providers/Plugins/Tmdb/Models/TV/Credits.cs
  58. 1 1
      MediaBrowser.Providers/Plugins/Tmdb/Models/TV/Episode.cs
  59. 2 2
      MediaBrowser.Providers/Plugins/Tmdb/Models/TV/EpisodeCredits.cs
  60. 2 2
      MediaBrowser.Providers/Plugins/Tmdb/Models/TV/EpisodeResult.cs
  61. 1 1
      MediaBrowser.Providers/Plugins/Tmdb/Models/TV/GuestStar.cs
  62. 1 1
      MediaBrowser.Providers/Plugins/Tmdb/Models/TV/Network.cs
  63. 1 1
      MediaBrowser.Providers/Plugins/Tmdb/Models/TV/Season.cs
  64. 2 2
      MediaBrowser.Providers/Plugins/Tmdb/Models/TV/SeasonImages.cs
  65. 2 2
      MediaBrowser.Providers/Plugins/Tmdb/Models/TV/SeasonResult.cs
  66. 2 2
      MediaBrowser.Providers/Plugins/Tmdb/Models/TV/SeriesResult.cs
  67. 2 2
      MediaBrowser.Providers/Plugins/Tmdb/Movies/GenericTmdbMovieInfo.cs
  68. 3 3
      MediaBrowser.Providers/Plugins/Tmdb/Movies/TmdbImageProvider.cs
  69. 1 1
      MediaBrowser.Providers/Plugins/Tmdb/Movies/TmdbMovieExternalId.cs
  70. 2 3
      MediaBrowser.Providers/Plugins/Tmdb/Movies/TmdbMovieProvider.cs
  71. 3 3
      MediaBrowser.Providers/Plugins/Tmdb/Movies/TmdbSearch.cs
  72. 1 1
      MediaBrowser.Providers/Plugins/Tmdb/Movies/TmdbSettings.cs
  73. 2 2
      MediaBrowser.Providers/Plugins/Tmdb/Music/TmdbMusicVideoProvider.cs
  74. 1 1
      MediaBrowser.Providers/Plugins/Tmdb/People/TmdbPersonExternalId.cs
  75. 4 4
      MediaBrowser.Providers/Plugins/Tmdb/People/TmdbPersonImageProvider.cs
  76. 5 5
      MediaBrowser.Providers/Plugins/Tmdb/People/TmdbPersonProvider.cs
  77. 6 6
      MediaBrowser.Providers/Plugins/Tmdb/TV/TmdbEpisodeImageProvider.cs
  78. 2 1
      MediaBrowser.Providers/Plugins/Tmdb/TV/TmdbEpisodeProvider.cs
  79. 5 3
      MediaBrowser.Providers/Plugins/Tmdb/TV/TmdbEpisodeProviderBase.cs
  80. 3 3
      MediaBrowser.Providers/Plugins/Tmdb/TV/TmdbSeasonImageProvider.cs
  81. 5 4
      MediaBrowser.Providers/Plugins/Tmdb/TV/TmdbSeasonProvider.cs
  82. 1 1
      MediaBrowser.Providers/Plugins/Tmdb/TV/TmdbSeriesExternalId.cs
  83. 8 4
      MediaBrowser.Providers/Plugins/Tmdb/TV/TmdbSeriesImageProvider.cs
  84. 6 7
      MediaBrowser.Providers/Plugins/Tmdb/TV/TmdbSeriesProvider.cs
  85. 3 3
      MediaBrowser.Providers/Plugins/Tmdb/TmdbUtils.cs
  86. 2 2
      MediaBrowser.Providers/Plugins/Tmdb/Trailers/TmdbTrailerProvider.cs

+ 12 - 9
MediaBrowser.Model/Configuration/ServerConfiguration.cs

@@ -241,11 +241,13 @@ namespace MediaBrowser.Model.Configuration
         public bool EnableNewOmdbSupport { get; set; }
 
         public string[] RemoteIPFilter { get; set; }
+
         public bool IsRemoteIPFilterBlacklist { get; set; }
 
         public int ImageExtractionTimeoutMs { get; set; }
 
         public PathSubstitution[] PathSubstitutions { get; set; }
+
         public bool EnableSimpleArtistDetection { get; set; }
 
         public string[] UninstalledPlugins { get; set; }
@@ -314,24 +316,24 @@ namespace MediaBrowser.Model.Configuration
                 new MetadataOptions
                 {
                     ItemType = "MusicVideo",
-                    DisabledMetadataFetchers = new [] { "The Open Movie Database" },
-                    DisabledImageFetchers = new [] { "The Open Movie Database" }
+                    DisabledMetadataFetchers = new[] { "The Open Movie Database" },
+                    DisabledImageFetchers = new[] { "The Open Movie Database" }
                 },
                 new MetadataOptions
                 {
                     ItemType = "Series",
-                    DisabledMetadataFetchers = new [] { "TheMovieDb" },
-                    DisabledImageFetchers = new [] { "TheMovieDb" }
+                    DisabledMetadataFetchers = new[] { "TheMovieDb" },
+                    DisabledImageFetchers = new[] { "TheMovieDb" }
                 },
                 new MetadataOptions
                 {
                     ItemType = "MusicAlbum",
-                    DisabledMetadataFetchers = new [] { "TheAudioDB" }
+                    DisabledMetadataFetchers = new[] { "TheAudioDB" }
                 },
                 new MetadataOptions
                 {
                     ItemType = "MusicArtist",
-                    DisabledMetadataFetchers = new [] { "TheAudioDB" }
+                    DisabledMetadataFetchers = new[] { "TheAudioDB" }
                 },
                 new MetadataOptions
                 {
@@ -340,13 +342,13 @@ namespace MediaBrowser.Model.Configuration
                 new MetadataOptions
                 {
                     ItemType = "Season",
-                    DisabledMetadataFetchers = new [] { "TheMovieDb" },
+                    DisabledMetadataFetchers = new[] { "TheMovieDb" },
                 },
                 new MetadataOptions
                 {
                     ItemType = "Episode",
-                    DisabledMetadataFetchers = new [] { "The Open Movie Database", "TheMovieDb" },
-                    DisabledImageFetchers = new [] { "The Open Movie Database", "TheMovieDb" }
+                    DisabledMetadataFetchers = new[] { "The Open Movie Database", "TheMovieDb" },
+                    DisabledImageFetchers = new[] { "The Open Movie Database", "TheMovieDb" }
                 }
             };
         }
@@ -355,6 +357,7 @@ namespace MediaBrowser.Model.Configuration
     public class PathSubstitution
     {
         public string From { get; set; }
+
         public string To { get; set; }
     }
 }

+ 9 - 0
MediaBrowser.Providers/Plugins/Omdb/Configuration/PluginConfiguration.cs

@@ -0,0 +1,9 @@
+using MediaBrowser.Model.Plugins;
+
+namespace MediaBrowser.Providers.Plugins.Omdb
+{
+    public class PluginConfiguration : BasePluginConfiguration
+    {
+        public bool CastAndCrew { get; set; }
+    }
+}

+ 49 - 0
MediaBrowser.Providers/Plugins/Omdb/Configuration/config.html

@@ -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>

+ 1 - 0
MediaBrowser.Providers/Plugins/Omdb/OmdbImageProvider.cs

@@ -92,6 +92,7 @@ namespace MediaBrowser.Providers.Plugins.Omdb
         {
             return item is Movie || item is Trailer || item is Episode;
         }
+
         // After other internet providers, because they're better
         // But before fallback providers like screengrab
         public int Order => 90;

+ 2 - 0
MediaBrowser.Providers/Plugins/Omdb/OmdbItemProvider.cs

@@ -103,6 +103,7 @@ namespace MediaBrowser.Providers.Plugins.Omdb
                 {
                     urlQuery += "&t=" + WebUtility.UrlEncode(name);
                 }
+
                 urlQuery += "&type=" + type;
             }
             else
@@ -117,6 +118,7 @@ namespace MediaBrowser.Providers.Plugins.Omdb
                 {
                     urlQuery += string.Format(CultureInfo.InvariantCulture, "&Episode={0}", searchInfo.IndexNumber);
                 }
+
                 if (searchInfo.ParentIndexNumber.HasValue)
                 {
                     urlQuery += string.Format(CultureInfo.InvariantCulture, "&Season={0}", searchInfo.ParentIndexNumber);

+ 89 - 50
MediaBrowser.Providers/Plugins/Omdb/OmdbProvider.cs

@@ -87,10 +87,10 @@ namespace MediaBrowser.Providers.Plugins.Omdb
                 item.CommunityRating = imdbRating;
             }
 
-            //if (!string.IsNullOrEmpty(result.Website))
-            //{
-            //    item.HomePageUrl = result.Website;
-            //}
+            if (!string.IsNullOrEmpty(result.Website))
+            {
+                item.HomePageUrl = result.Website;
+            }
 
             if (!string.IsNullOrWhiteSpace(result.imdbID))
             {
@@ -121,7 +121,7 @@ namespace MediaBrowser.Providers.Plugins.Omdb
 
             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))
                     {
@@ -134,7 +134,7 @@ namespace MediaBrowser.Providers.Plugins.Omdb
             // finally, search by numbers
             if (result == null)
             {
-                foreach (var episode in (seasonResult.Episodes ?? new RootObject[] { }))
+                foreach (var episode in seasonResult.Episodes)
                 {
                     if (episode.Episode == episodeNumber)
                     {
@@ -188,10 +188,10 @@ namespace MediaBrowser.Providers.Plugins.Omdb
                 item.CommunityRating = imdbRating;
             }
 
-            //if (!string.IsNullOrEmpty(result.Website))
-            //{
-            //    item.HomePageUrl = result.Website;
-            //}
+            if (!string.IsNullOrEmpty(result.Website))
+            {
+                item.HomePageUrl = result.Website;
+            }
 
             if (!string.IsNullOrWhiteSpace(result.imdbID))
             {
@@ -263,6 +263,7 @@ namespace MediaBrowser.Providers.Plugins.Omdb
             {
                 return url;
             }
+
             return url + "&" + query;
         }
 
@@ -386,7 +387,7 @@ namespace MediaBrowser.Providers.Plugins.Omdb
 
             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
             if (isConfiguredForEnglish && !string.IsNullOrWhiteSpace(result.Genre))
             {
@@ -407,45 +408,50 @@ namespace MediaBrowser.Providers.Plugins.Omdb
                 item.Overview = result.Plot;
             }
 
-            //if (!string.IsNullOrWhiteSpace(result.Director))
-            //{
-            //    var person = new PersonInfo
-            //    {
-            //        Name = result.Director.Trim(),
-            //        Type = PersonType.Director
-            //    };
-
-            //    itemResult.AddPerson(person);
-            //}
-
-            //if (!string.IsNullOrWhiteSpace(result.Writer))
-            //{
-            //    var person = new PersonInfo
-            //    {
-            //        Name = result.Director.Trim(),
-            //        Type = PersonType.Writer
-            //    };
-
-            //    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);
-            //        }
-            //    }
-            //}
+            if (!Plugin.Instance.Configuration.CastAndCrew)
+            {
+                return;
+            }
+
+            if (!string.IsNullOrWhiteSpace(result.Director))
+            {
+                var person = new PersonInfo
+                {
+                    Name = result.Director.Trim(),
+                    Type = PersonType.Director
+                };
+
+                itemResult.AddPerson(person);
+            }
+
+            if (!string.IsNullOrWhiteSpace(result.Writer))
+            {
+                var person = new PersonInfo
+                {
+                    Name = result.Director.Trim(),
+                    Type = PersonType.Writer
+                };
+
+                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)
@@ -459,40 +465,70 @@ namespace MediaBrowser.Providers.Plugins.Omdb
         internal class SeasonRootObject
         {
             public string Title { get; set; }
+
             public string seriesID { get; set; }
+
             public int Season { get; set; }
+
             public int? totalSeasons { get; set; }
+
             public RootObject[] Episodes { get; set; }
+
             public string Response { get; set; }
         }
 
         internal class RootObject
         {
             public string Title { get; set; }
+
             public string Year { get; set; }
+
             public string Rated { get; set; }
+
             public string Released { get; set; }
+
             public string Runtime { get; set; }
+
             public string Genre { get; set; }
+
             public string Director { get; set; }
+
             public string Writer { get; set; }
+
             public string Actors { get; set; }
+
             public string Plot { get; set; }
+
             public string Language { get; set; }
+
             public string Country { get; set; }
+
             public string Awards { get; set; }
+
             public string Poster { get; set; }
+
             public List<OmdbRating> Ratings { get; set; }
+
             public string Metascore { get; set; }
+
             public string imdbRating { get; set; }
+
             public string imdbVotes { get; set; }
+
             public string imdbID { get; set; }
+
             public string Type { get; set; }
+
             public string DVD { get; set; }
+
             public string BoxOffice { get; set; }
+
             public string Production { get; set; }
+
             public string Website { get; set; }
+
             public string Response { get; set; }
+
             public int Episode { get; set; }
 
             public float? GetRottenTomatoScore()
@@ -509,12 +545,15 @@ namespace MediaBrowser.Providers.Plugins.Omdb
                         }
                     }
                 }
+
                 return null;
             }
         }
+
         public class OmdbRating
         {
             public string Source { get; set; }
+
             public string Value { get; set; }
         }
     }

+ 35 - 0
MediaBrowser.Providers/Plugins/Omdb/Plugin.cs

@@ -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"
+            };
+        }
+    }
+}

+ 8 - 0
MediaBrowser.Providers/Plugins/TheTvdb/Configuration/PluginConfiguration.cs

@@ -0,0 +1,8 @@
+using MediaBrowser.Model.Plugins;
+
+namespace MediaBrowser.Providers.Plugins.TheTvdb
+{
+    public class PluginConfiguration : BasePluginConfiguration
+    {
+    }
+}

+ 24 - 0
MediaBrowser.Providers/Plugins/TheTvdb/Plugin.cs

@@ -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;
+        }
+    }
+}

+ 2 - 1
MediaBrowser.Providers/Plugins/TheTvdb/TvdbClientManager.cs

@@ -120,6 +120,7 @@ namespace MediaBrowser.Providers.Plugins.TheTvdb
             var cacheKey = GenerateKey("series", zap2ItId, language);
             return TryGetValue(cacheKey, language, () => TvDbClient.Search.SearchSeriesByZap2ItIdAsync(zap2ItId, cancellationToken));
         }
+
         public Task<TvDbResponse<Actor[]>> GetActorsAsync(
             int tvdbId,
             string language,
@@ -190,7 +191,7 @@ namespace MediaBrowser.Providers.Plugins.TheTvdb
                         episodeQuery.AbsoluteNumber = searchInfo.IndexNumber.Value;
                         break;
                     default:
-                        //aired order
+                        // aired order
                         episodeQuery.AiredEpisode = searchInfo.IndexNumber.Value;
                         episodeQuery.AiredSeason = searchInfo.ParentIndexNumber.Value;
                         break;

+ 1 - 3
MediaBrowser.Providers/Plugins/TheTvdb/TvdbEpisodeProvider.cs

@@ -14,9 +14,8 @@ using TvDbSharper.Dto;
 
 namespace MediaBrowser.Providers.Plugins.TheTvdb
 {
-
     /// <summary>
-    /// Class RemoteEpisodeProvider
+    /// Class RemoteEpisodeProvider.
     /// </summary>
     public class TvdbEpisodeProvider : IRemoteMetadataProvider<Episode, EpisodeInfo>, IHasOrder
     {
@@ -139,7 +138,6 @@ namespace MediaBrowser.Providers.Plugins.TheTvdb
                     Name = episode.EpisodeName,
                     Overview = episode.Overview,
                     CommunityRating = (float?)episode.SiteRating,
-
                 }
             };
             result.ResetPeople();

+ 0 - 1
MediaBrowser.Providers/Plugins/TheTvdb/TvdbPersonImageProvider.cs

@@ -57,7 +57,6 @@ namespace MediaBrowser.Providers.Plugins.TheTvdb
                 {
                     EnableImages = false
                 }
-
             }).Cast<Series>()
                 .Where(i => TvdbSeriesProvider.IsValidSeries(i.ProviderIds))
                 .ToList();

+ 2 - 2
MediaBrowser.Providers/Plugins/TheTvdb/TvdbSeasonImageProvider.cs

@@ -55,7 +55,7 @@ namespace MediaBrowser.Providers.Plugins.TheTvdb
 
             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));
@@ -113,8 +113,8 @@ namespace MediaBrowser.Providers.Plugins.TheTvdb
                 imageInfo.Type = TvdbUtils.GetImageTypeFromKeyType(image.KeyType);
                 list.Add(imageInfo);
             }
-            var isLanguageEn = string.Equals(preferredLanguage, "en", StringComparison.OrdinalIgnoreCase);
 
+            var isLanguageEn = string.Equals(preferredLanguage, "en", StringComparison.OrdinalIgnoreCase);
             return list.OrderByDescending(i =>
                 {
                     if (string.Equals(preferredLanguage, i.Language, StringComparison.OrdinalIgnoreCase))

+ 2 - 1
MediaBrowser.Providers/Plugins/TheTvdb/TvdbSeriesImageProvider.cs

@@ -79,6 +79,7 @@ namespace MediaBrowser.Providers.Plugins.TheTvdb
                         tvdbId);
                 }
             }
+
             return remoteImages;
         }
 
@@ -110,8 +111,8 @@ namespace MediaBrowser.Providers.Plugins.TheTvdb
                 imageInfo.Type = TvdbUtils.GetImageTypeFromKeyType(image.KeyType);
                 list.Add(imageInfo);
             }
-            var isLanguageEn = string.Equals(preferredLanguage, "en", StringComparison.OrdinalIgnoreCase);
 
+            var isLanguageEn = string.Equals(preferredLanguage, "en", StringComparison.OrdinalIgnoreCase);
             return list.OrderByDescending(i =>
                 {
                     if (string.Equals(preferredLanguage, i.Language, StringComparison.OrdinalIgnoreCase))

+ 6 - 4
MediaBrowser.Providers/Plugins/TheTvdb/TvdbSeriesProvider.cs

@@ -22,6 +22,7 @@ namespace MediaBrowser.Providers.Plugins.TheTvdb
     public class TvdbSeriesProvider : IRemoteMetadataProvider<Series, SeriesInfo>, IHasOrder
     {
         internal static TvdbSeriesProvider Current { get; private set; }
+
         private readonly IHttpClient _httpClient;
         private readonly ILogger<TvdbSeriesProvider> _logger;
         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)
         {
-
             TvDbResponse<SeriesSearchResult[]> result = null;
 
             try
@@ -249,6 +249,7 @@ namespace MediaBrowser.Providers.Plugins.TheTvdb
                     ImageUrl = TvdbUtils.BannerUrl + seriesSearchResult.Banner
 
                 };
+
                 try
                 {
                     var seriesSesult =
@@ -274,11 +275,12 @@ namespace MediaBrowser.Providers.Plugins.TheTvdb
         }
 
         /// <summary>
-        /// The remove
+        /// The remove.
         /// </summary>
         const string remove = "\"'!`?";
+
         /// <summary>
-        /// The spacers
+        /// The spacers.
         /// </summary>
         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.Replace(", the", string.Empty).Replace("the ", " ").Replace(" the ", " ");
 
+            sb.Replace(", the", string.Empty).Replace("the ", " ").Replace(" the ", " ");
             return Regex.Replace(sb.ToString().Trim(), @"\s+", " ");
         }
 

+ 1 - 1
MediaBrowser.Providers/Tmdb/BoxSets/TmdbBoxSetExternalId.cs → MediaBrowser.Providers/Plugins/Tmdb/BoxSets/TmdbBoxSetExternalId.cs

@@ -3,7 +3,7 @@ using MediaBrowser.Controller.Entities.Movies;
 using MediaBrowser.Controller.Providers;
 using MediaBrowser.Model.Entities;
 
-namespace MediaBrowser.Providers.Tmdb.BoxSets
+namespace MediaBrowser.Providers.Plugins.Tmdb.BoxSets
 {
     public class TmdbBoxSetExternalId : IExternalId
     {

+ 7 - 4
MediaBrowser.Providers/Tmdb/BoxSets/TmdbBoxSetImageProvider.cs → MediaBrowser.Providers/Plugins/Tmdb/BoxSets/TmdbBoxSetImageProvider.cs

@@ -10,11 +10,11 @@ using MediaBrowser.Controller.Providers;
 using MediaBrowser.Model.Dto;
 using MediaBrowser.Model.Entities;
 using MediaBrowser.Model.Providers;
-using MediaBrowser.Providers.Tmdb.Models.Collections;
-using MediaBrowser.Providers.Tmdb.Models.General;
-using MediaBrowser.Providers.Tmdb.Movies;
+using MediaBrowser.Providers.Plugins.Tmdb.Models.Collections;
+using MediaBrowser.Providers.Plugins.Tmdb.Models.General;
+using MediaBrowser.Providers.Plugins.Tmdb.Movies;
 
-namespace MediaBrowser.Providers.Tmdb.BoxSets
+namespace MediaBrowser.Providers.Plugins.Tmdb.BoxSets
 {
     public class TmdbBoxSetImageProvider : IRemoteImageProvider, IHasOrder
     {
@@ -105,6 +105,7 @@ namespace MediaBrowser.Providers.Tmdb.BoxSets
                 {
                     return 3;
                 }
+
                 if (!isLanguageEn)
                 {
                     if (string.Equals("en", i.Language, StringComparison.OrdinalIgnoreCase))
@@ -112,10 +113,12 @@ namespace MediaBrowser.Providers.Tmdb.BoxSets
                         return 2;
                     }
                 }
+
                 if (string.IsNullOrEmpty(i.Language))
                 {
                     return isLanguageEn ? 3 : 2;
                 }
+
                 return 0;
             })
                 .ThenByDescending(i => i.CommunityRating ?? 0)

+ 5 - 8
MediaBrowser.Providers/Tmdb/BoxSets/TmdbBoxSetProvider.cs → MediaBrowser.Providers/Plugins/Tmdb/BoxSets/TmdbBoxSetProvider.cs

@@ -16,12 +16,12 @@ using MediaBrowser.Model.Globalization;
 using MediaBrowser.Model.IO;
 using MediaBrowser.Model.Providers;
 using MediaBrowser.Model.Serialization;
-using MediaBrowser.Providers.Tmdb.Models.Collections;
-using MediaBrowser.Providers.Tmdb.Models.General;
-using MediaBrowser.Providers.Tmdb.Movies;
+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.Tmdb.BoxSets
+namespace MediaBrowser.Providers.Plugins.Tmdb.BoxSets
 {
     public class TmdbBoxSetProvider : IRemoteMetadataProvider<BoxSet, BoxSetInfo>
     {
@@ -78,9 +78,7 @@ namespace MediaBrowser.Providers.Tmdb.BoxSets
                 var result = new RemoteSearchResult
                 {
                     Name = info.Name,
-
                     SearchProviderName = Name,
-
                     ImageUrl = images.Count == 0 ? null : (tmdbImageUrl + images[0].File_Path)
                 };
 
@@ -191,7 +189,6 @@ namespace MediaBrowser.Providers.Tmdb.BoxSets
                 Url = url,
                 CancellationToken = cancellationToken,
                 AcceptHeader = TmdbUtils.AcceptHeader
-
             }).ConfigureAwait(false))
             {
                 using (var json = response.Content)
@@ -219,7 +216,6 @@ namespace MediaBrowser.Providers.Tmdb.BoxSets
                         Url = url,
                         CancellationToken = cancellationToken,
                         AcceptHeader = TmdbUtils.AcceptHeader
-
                     }).ConfigureAwait(false))
                     {
                         using (var json = response.Content)
@@ -229,6 +225,7 @@ namespace MediaBrowser.Providers.Tmdb.BoxSets
                     }
                 }
             }
+
             return mainResult;
         }
 

+ 2 - 2
MediaBrowser.Providers/Tmdb/Models/Collections/CollectionImages.cs → MediaBrowser.Providers/Plugins/Tmdb/Models/Collections/CollectionImages.cs

@@ -1,7 +1,7 @@
 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
     {

+ 1 - 1
MediaBrowser.Providers/Tmdb/Models/Collections/CollectionResult.cs → MediaBrowser.Providers/Plugins/Tmdb/Models/Collections/CollectionResult.cs

@@ -1,6 +1,6 @@
 using System.Collections.Generic;
 
-namespace MediaBrowser.Providers.Tmdb.Models.Collections
+namespace MediaBrowser.Providers.Plugins.Tmdb.Models.Collections
 {
     public class CollectionResult
     {

+ 1 - 1
MediaBrowser.Providers/Tmdb/Models/Collections/Part.cs → MediaBrowser.Providers/Plugins/Tmdb/Models/Collections/Part.cs

@@ -1,4 +1,4 @@
-namespace MediaBrowser.Providers.Tmdb.Models.Collections
+namespace MediaBrowser.Providers.Plugins.Tmdb.Models.Collections
 {
     public class Part
     {

+ 1 - 1
MediaBrowser.Providers/Tmdb/Models/General/Backdrop.cs → MediaBrowser.Providers/Plugins/Tmdb/Models/General/Backdrop.cs

@@ -1,4 +1,4 @@
-namespace MediaBrowser.Providers.Tmdb.Models.General
+namespace MediaBrowser.Providers.Plugins.Tmdb.Models.General
 {
     public class Backdrop
     {

+ 1 - 1
MediaBrowser.Providers/Tmdb/Models/General/Crew.cs → MediaBrowser.Providers/Plugins/Tmdb/Models/General/Crew.cs

@@ -1,4 +1,4 @@
-namespace MediaBrowser.Providers.Tmdb.Models.General
+namespace MediaBrowser.Providers.Plugins.Tmdb.Models.General
 {
     public class Crew
     {

+ 1 - 1
MediaBrowser.Providers/Tmdb/Models/General/ExternalIds.cs → MediaBrowser.Providers/Plugins/Tmdb/Models/General/ExternalIds.cs

@@ -1,4 +1,4 @@
-namespace MediaBrowser.Providers.Tmdb.Models.General
+namespace MediaBrowser.Providers.Plugins.Tmdb.Models.General
 {
     public class ExternalIds
     {

+ 1 - 1
MediaBrowser.Providers/Tmdb/Models/General/Genre.cs → MediaBrowser.Providers/Plugins/Tmdb/Models/General/Genre.cs

@@ -1,4 +1,4 @@
-namespace MediaBrowser.Providers.Tmdb.Models.General
+namespace MediaBrowser.Providers.Plugins.Tmdb.Models.General
 {
     public class Genre
     {

+ 1 - 1
MediaBrowser.Providers/Tmdb/Models/General/Images.cs → MediaBrowser.Providers/Plugins/Tmdb/Models/General/Images.cs

@@ -1,6 +1,6 @@
 using System.Collections.Generic;
 
-namespace MediaBrowser.Providers.Tmdb.Models.General
+namespace MediaBrowser.Providers.Plugins.Tmdb.Models.General
 {
     public class Images
     {

+ 1 - 1
MediaBrowser.Providers/Tmdb/Models/General/Keyword.cs → MediaBrowser.Providers/Plugins/Tmdb/Models/General/Keyword.cs

@@ -1,4 +1,4 @@
-namespace MediaBrowser.Providers.Tmdb.Models.General
+namespace MediaBrowser.Providers.Plugins.Tmdb.Models.General
 {
     public class Keyword
     {

+ 1 - 1
MediaBrowser.Providers/Tmdb/Models/General/Keywords.cs → MediaBrowser.Providers/Plugins/Tmdb/Models/General/Keywords.cs

@@ -1,6 +1,6 @@
 using System.Collections.Generic;
 
-namespace MediaBrowser.Providers.Tmdb.Models.General
+namespace MediaBrowser.Providers.Plugins.Tmdb.Models.General
 {
     public class Keywords
     {

+ 1 - 1
MediaBrowser.Providers/Tmdb/Models/General/Poster.cs → MediaBrowser.Providers/Plugins/Tmdb/Models/General/Poster.cs

@@ -1,4 +1,4 @@
-namespace MediaBrowser.Providers.Tmdb.Models.General
+namespace MediaBrowser.Providers.Plugins.Tmdb.Models.General
 {
     public class Poster
     {

+ 1 - 1
MediaBrowser.Providers/Tmdb/Models/General/Profile.cs → MediaBrowser.Providers/Plugins/Tmdb/Models/General/Profile.cs

@@ -1,4 +1,4 @@
-namespace MediaBrowser.Providers.Tmdb.Models.General
+namespace MediaBrowser.Providers.Plugins.Tmdb.Models.General
 {
     public class Profile
     {

+ 1 - 1
MediaBrowser.Providers/Tmdb/Models/General/Still.cs → MediaBrowser.Providers/Plugins/Tmdb/Models/General/Still.cs

@@ -1,4 +1,4 @@
-namespace MediaBrowser.Providers.Tmdb.Models.General
+namespace MediaBrowser.Providers.Plugins.Tmdb.Models.General
 {
     public class Still
     {

+ 1 - 1
MediaBrowser.Providers/Tmdb/Models/General/StillImages.cs → MediaBrowser.Providers/Plugins/Tmdb/Models/General/StillImages.cs

@@ -1,6 +1,6 @@
 using System.Collections.Generic;
 
-namespace MediaBrowser.Providers.Tmdb.Models.General
+namespace MediaBrowser.Providers.Plugins.Tmdb.Models.General
 {
     public class StillImages
     {

+ 1 - 1
MediaBrowser.Providers/Tmdb/Models/General/Video.cs → MediaBrowser.Providers/Plugins/Tmdb/Models/General/Video.cs

@@ -1,4 +1,4 @@
-namespace MediaBrowser.Providers.Tmdb.Models.General
+namespace MediaBrowser.Providers.Plugins.Tmdb.Models.General
 {
     public class Video
     {

+ 1 - 1
MediaBrowser.Providers/Tmdb/Models/General/Videos.cs → MediaBrowser.Providers/Plugins/Tmdb/Models/General/Videos.cs

@@ -1,6 +1,6 @@
 using System.Collections.Generic;
 
-namespace MediaBrowser.Providers.Tmdb.Models.General
+namespace MediaBrowser.Providers.Plugins.Tmdb.Models.General
 {
     public class Videos
     {

+ 1 - 1
MediaBrowser.Providers/Tmdb/Models/Movies/BelongsToCollection.cs → MediaBrowser.Providers/Plugins/Tmdb/Models/Movies/BelongsToCollection.cs

@@ -1,4 +1,4 @@
-namespace MediaBrowser.Providers.Tmdb.Models.Movies
+namespace MediaBrowser.Providers.Plugins.Tmdb.Models.Movies
 {
     public class BelongsToCollection
     {

+ 1 - 1
MediaBrowser.Providers/Tmdb/Models/Movies/Cast.cs → MediaBrowser.Providers/Plugins/Tmdb/Models/Movies/Cast.cs

@@ -1,4 +1,4 @@
-namespace MediaBrowser.Providers.Tmdb.Models.Movies
+namespace MediaBrowser.Providers.Plugins.Tmdb.Models.Movies
 {
     public class Cast
     {

+ 2 - 2
MediaBrowser.Providers/Tmdb/Models/Movies/Casts.cs → MediaBrowser.Providers/Plugins/Tmdb/Models/Movies/Casts.cs

@@ -1,7 +1,7 @@
 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
     {

+ 1 - 1
MediaBrowser.Providers/Tmdb/Models/Movies/Country.cs → MediaBrowser.Providers/Plugins/Tmdb/Models/Movies/Country.cs

@@ -1,6 +1,6 @@
 using System;
 
-namespace MediaBrowser.Providers.Tmdb.Models.Movies
+namespace MediaBrowser.Providers.Plugins.Tmdb.Models.Movies
 {
     public class Country
     {

+ 2 - 2
MediaBrowser.Providers/Tmdb/Models/Movies/MovieResult.cs → MediaBrowser.Providers/Plugins/Tmdb/Models/Movies/MovieResult.cs

@@ -1,7 +1,7 @@
 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
     {

+ 1 - 1
MediaBrowser.Providers/Tmdb/Models/Movies/ProductionCompany.cs → MediaBrowser.Providers/Plugins/Tmdb/Models/Movies/ProductionCompany.cs

@@ -1,4 +1,4 @@
-namespace MediaBrowser.Providers.Tmdb.Models.Movies
+namespace MediaBrowser.Providers.Plugins.Tmdb.Models.Movies
 {
     public class ProductionCompany
     {

+ 1 - 1
MediaBrowser.Providers/Tmdb/Models/Movies/ProductionCountry.cs → MediaBrowser.Providers/Plugins/Tmdb/Models/Movies/ProductionCountry.cs

@@ -1,4 +1,4 @@
-namespace MediaBrowser.Providers.Tmdb.Models.Movies
+namespace MediaBrowser.Providers.Plugins.Tmdb.Models.Movies
 {
     public class ProductionCountry
     {

+ 1 - 1
MediaBrowser.Providers/Tmdb/Models/Movies/Releases.cs → MediaBrowser.Providers/Plugins/Tmdb/Models/Movies/Releases.cs

@@ -1,6 +1,6 @@
 using System.Collections.Generic;
 
-namespace MediaBrowser.Providers.Tmdb.Models.Movies
+namespace MediaBrowser.Providers.Plugins.Tmdb.Models.Movies
 {
     public class Releases
     {

+ 1 - 1
MediaBrowser.Providers/Tmdb/Models/Movies/SpokenLanguage.cs → MediaBrowser.Providers/Plugins/Tmdb/Models/Movies/SpokenLanguage.cs

@@ -1,4 +1,4 @@
-namespace MediaBrowser.Providers.Tmdb.Models.Movies
+namespace MediaBrowser.Providers.Plugins.Tmdb.Models.Movies
 {
     public class SpokenLanguage
     {

+ 1 - 1
MediaBrowser.Providers/Tmdb/Models/Movies/Trailers.cs → MediaBrowser.Providers/Plugins/Tmdb/Models/Movies/Trailers.cs

@@ -1,6 +1,6 @@
 using System.Collections.Generic;
 
-namespace MediaBrowser.Providers.Tmdb.Models.Movies
+namespace MediaBrowser.Providers.Plugins.Tmdb.Models.Movies
 {
     public class Trailers
     {

+ 1 - 1
MediaBrowser.Providers/Tmdb/Models/Movies/Youtube.cs → MediaBrowser.Providers/Plugins/Tmdb/Models/Movies/Youtube.cs

@@ -1,4 +1,4 @@
-namespace MediaBrowser.Providers.Tmdb.Models.Movies
+namespace MediaBrowser.Providers.Plugins.Tmdb.Models.Movies
 {
     public class Youtube
     {

+ 2 - 2
MediaBrowser.Providers/Tmdb/Models/People/PersonImages.cs → MediaBrowser.Providers/Plugins/Tmdb/Models/People/PersonImages.cs

@@ -1,7 +1,7 @@
 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
     {

+ 2 - 2
MediaBrowser.Providers/Tmdb/Models/People/PersonResult.cs → MediaBrowser.Providers/Plugins/Tmdb/Models/People/PersonResult.cs

@@ -1,7 +1,7 @@
 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
     {

+ 1 - 1
MediaBrowser.Providers/Tmdb/Models/Search/ExternalIdLookupResult.cs → MediaBrowser.Providers/Plugins/Tmdb/Models/Search/ExternalIdLookupResult.cs

@@ -1,6 +1,6 @@
 using System.Collections.Generic;
 
-namespace MediaBrowser.Providers.Tmdb.Models.Search
+namespace MediaBrowser.Providers.Plugins.Tmdb.Models.Search
 {
     public class ExternalIdLookupResult
     {

+ 1 - 1
MediaBrowser.Providers/Tmdb/Models/Search/MovieResult.cs → MediaBrowser.Providers/Plugins/Tmdb/Models/Search/MovieResult.cs

@@ -1,4 +1,4 @@
-namespace MediaBrowser.Providers.Tmdb.Models.Search
+namespace MediaBrowser.Providers.Plugins.Tmdb.Models.Search
 {
     public class MovieResult
     {

+ 1 - 1
MediaBrowser.Providers/Tmdb/Models/Search/PersonSearchResult.cs → MediaBrowser.Providers/Plugins/Tmdb/Models/Search/PersonSearchResult.cs

@@ -1,4 +1,4 @@
-namespace MediaBrowser.Providers.Tmdb.Models.Search
+namespace MediaBrowser.Providers.Plugins.Tmdb.Models.Search
 {
     public class PersonSearchResult
     {

+ 1 - 1
MediaBrowser.Providers/Tmdb/Models/Search/TmdbSearchResult.cs → MediaBrowser.Providers/Plugins/Tmdb/Models/Search/TmdbSearchResult.cs

@@ -1,6 +1,6 @@
 using System.Collections.Generic;
 
-namespace MediaBrowser.Providers.Tmdb.Models.Search
+namespace MediaBrowser.Providers.Plugins.Tmdb.Models.Search
 {
     public class TmdbSearchResult<T>
     {

+ 1 - 1
MediaBrowser.Providers/Tmdb/Models/Search/TvResult.cs → MediaBrowser.Providers/Plugins/Tmdb/Models/Search/TvResult.cs

@@ -1,4 +1,4 @@
-namespace MediaBrowser.Providers.Tmdb.Models.Search
+namespace MediaBrowser.Providers.Plugins.Tmdb.Models.Search
 {
     public class TvResult
     {

+ 1 - 1
MediaBrowser.Providers/Tmdb/Models/TV/Cast.cs → MediaBrowser.Providers/Plugins/Tmdb/Models/TV/Cast.cs

@@ -1,4 +1,4 @@
-namespace MediaBrowser.Providers.Tmdb.Models.TV
+namespace MediaBrowser.Providers.Plugins.Tmdb.Models.TV
 {
     public class Cast
     {

+ 1 - 1
MediaBrowser.Providers/Tmdb/Models/TV/ContentRating.cs → MediaBrowser.Providers/Plugins/Tmdb/Models/TV/ContentRating.cs

@@ -1,4 +1,4 @@
-namespace MediaBrowser.Providers.Tmdb.Models.TV
+namespace MediaBrowser.Providers.Plugins.Tmdb.Models.TV
 {
     public class ContentRating
     {

+ 1 - 1
MediaBrowser.Providers/Tmdb/Models/TV/ContentRatings.cs → MediaBrowser.Providers/Plugins/Tmdb/Models/TV/ContentRatings.cs

@@ -1,6 +1,6 @@
 using System.Collections.Generic;
 
-namespace MediaBrowser.Providers.Tmdb.Models.TV
+namespace MediaBrowser.Providers.Plugins.Tmdb.Models.TV
 {
     public class ContentRatings
     {

+ 1 - 1
MediaBrowser.Providers/Tmdb/Models/TV/CreatedBy.cs → MediaBrowser.Providers/Plugins/Tmdb/Models/TV/CreatedBy.cs

@@ -1,4 +1,4 @@
-namespace MediaBrowser.Providers.Tmdb.Models.TV
+namespace MediaBrowser.Providers.Plugins.Tmdb.Models.TV
 {
     public class CreatedBy
     {

+ 2 - 2
MediaBrowser.Providers/Tmdb/Models/TV/Credits.cs → MediaBrowser.Providers/Plugins/Tmdb/Models/TV/Credits.cs

@@ -1,7 +1,7 @@
 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
     {

+ 1 - 1
MediaBrowser.Providers/Tmdb/Models/TV/Episode.cs → MediaBrowser.Providers/Plugins/Tmdb/Models/TV/Episode.cs

@@ -1,4 +1,4 @@
-namespace MediaBrowser.Providers.Tmdb.Models.TV
+namespace MediaBrowser.Providers.Plugins.Tmdb.Models.TV
 {
     public class Episode
     {

+ 2 - 2
MediaBrowser.Providers/Tmdb/Models/TV/EpisodeCredits.cs → MediaBrowser.Providers/Plugins/Tmdb/Models/TV/EpisodeCredits.cs

@@ -1,7 +1,7 @@
 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
     {

+ 2 - 2
MediaBrowser.Providers/Tmdb/Models/TV/EpisodeResult.cs → MediaBrowser.Providers/Plugins/Tmdb/Models/TV/EpisodeResult.cs

@@ -1,7 +1,7 @@
 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
     {

+ 1 - 1
MediaBrowser.Providers/Tmdb/Models/TV/GuestStar.cs → MediaBrowser.Providers/Plugins/Tmdb/Models/TV/GuestStar.cs

@@ -1,4 +1,4 @@
-namespace MediaBrowser.Providers.Tmdb.Models.TV
+namespace MediaBrowser.Providers.Plugins.Tmdb.Models.TV
 {
     public class GuestStar
     {

+ 1 - 1
MediaBrowser.Providers/Tmdb/Models/TV/Network.cs → MediaBrowser.Providers/Plugins/Tmdb/Models/TV/Network.cs

@@ -1,4 +1,4 @@
-namespace MediaBrowser.Providers.Tmdb.Models.TV
+namespace MediaBrowser.Providers.Plugins.Tmdb.Models.TV
 {
     public class Network
     {

+ 1 - 1
MediaBrowser.Providers/Tmdb/Models/TV/Season.cs → MediaBrowser.Providers/Plugins/Tmdb/Models/TV/Season.cs

@@ -1,4 +1,4 @@
-namespace MediaBrowser.Providers.Tmdb.Models.TV
+namespace MediaBrowser.Providers.Plugins.Tmdb.Models.TV
 {
     public class Season
     {

+ 2 - 2
MediaBrowser.Providers/Tmdb/Models/TV/SeasonImages.cs → MediaBrowser.Providers/Plugins/Tmdb/Models/TV/SeasonImages.cs

@@ -1,7 +1,7 @@
 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
     {

+ 2 - 2
MediaBrowser.Providers/Tmdb/Models/TV/SeasonResult.cs → MediaBrowser.Providers/Plugins/Tmdb/Models/TV/SeasonResult.cs

@@ -1,8 +1,8 @@
 using System;
 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
     {

+ 2 - 2
MediaBrowser.Providers/Tmdb/Models/TV/SeriesResult.cs → MediaBrowser.Providers/Plugins/Tmdb/Models/TV/SeriesResult.cs

@@ -1,8 +1,8 @@
 using System;
 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
     {

+ 2 - 2
MediaBrowser.Providers/Tmdb/Movies/GenericTmdbMovieInfo.cs → MediaBrowser.Providers/Plugins/Tmdb/Movies/GenericTmdbMovieInfo.cs

@@ -13,10 +13,10 @@ using MediaBrowser.Controller.Providers;
 using MediaBrowser.Model.Entities;
 using MediaBrowser.Model.IO;
 using MediaBrowser.Model.Serialization;
-using MediaBrowser.Providers.Tmdb.Models.Movies;
+using MediaBrowser.Providers.Plugins.Tmdb.Models.Movies;
 using Microsoft.Extensions.Logging;
 
-namespace MediaBrowser.Providers.Tmdb.Movies
+namespace MediaBrowser.Providers.Plugins.Tmdb.Movies
 {
     public class GenericTmdbMovieInfo<T>
         where T : BaseItem, new()

+ 3 - 3
MediaBrowser.Providers/Tmdb/Movies/TmdbImageProvider.cs → MediaBrowser.Providers/Plugins/Tmdb/Movies/TmdbImageProvider.cs

@@ -13,10 +13,10 @@ using MediaBrowser.Model.Entities;
 using MediaBrowser.Model.IO;
 using MediaBrowser.Model.Providers;
 using MediaBrowser.Model.Serialization;
-using MediaBrowser.Providers.Tmdb.Models.General;
-using MediaBrowser.Providers.Tmdb.Models.Movies;
+using MediaBrowser.Providers.Plugins.Tmdb.Models.General;
+using MediaBrowser.Providers.Plugins.Tmdb.Models.Movies;
 
-namespace MediaBrowser.Providers.Tmdb.Movies
+namespace MediaBrowser.Providers.Plugins.Tmdb.Movies
 {
     public class TmdbImageProvider : IRemoteImageProvider, IHasOrder
     {

+ 1 - 1
MediaBrowser.Providers/Tmdb/Movies/TmdbMovieExternalId.cs → MediaBrowser.Providers/Plugins/Tmdb/Movies/TmdbMovieExternalId.cs

@@ -4,7 +4,7 @@ using MediaBrowser.Controller.LiveTv;
 using MediaBrowser.Controller.Providers;
 using MediaBrowser.Model.Entities;
 
-namespace MediaBrowser.Providers.Tmdb.Movies
+namespace MediaBrowser.Providers.Plugins.Tmdb.Movies
 {
     public class TmdbMovieExternalId : IExternalId
     {

+ 2 - 3
MediaBrowser.Providers/Tmdb/Movies/TmdbMovieProvider.cs → MediaBrowser.Providers/Plugins/Tmdb/Movies/TmdbMovieProvider.cs

@@ -15,15 +15,14 @@ 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.Net;
 using MediaBrowser.Model.Providers;
 using MediaBrowser.Model.Serialization;
-using MediaBrowser.Providers.Tmdb.Models.Movies;
+using MediaBrowser.Providers.Plugins.Tmdb.Models.Movies;
 using Microsoft.Extensions.Logging;
 
-namespace MediaBrowser.Providers.Tmdb.Movies
+namespace MediaBrowser.Providers.Plugins.Tmdb.Movies
 {
     /// <summary>
     /// Class MovieDbProvider

+ 3 - 3
MediaBrowser.Providers/Tmdb/Movies/TmdbSearch.cs → MediaBrowser.Providers/Plugins/Tmdb/Movies/TmdbSearch.cs

@@ -3,19 +3,19 @@ using System.Collections.Generic;
 using System.Globalization;
 using System.Linq;
 using System.Net;
+using System.Text.RegularExpressions;
 using System.Threading;
 using System.Threading.Tasks;
-using System.Text.RegularExpressions;
 using MediaBrowser.Common.Net;
 using MediaBrowser.Controller.Library;
 using MediaBrowser.Controller.Providers;
 using MediaBrowser.Model.Entities;
 using MediaBrowser.Model.Providers;
 using MediaBrowser.Model.Serialization;
-using MediaBrowser.Providers.Tmdb.Models.Search;
+using MediaBrowser.Providers.Plugins.Tmdb.Models.Search;
 using Microsoft.Extensions.Logging;
 
-namespace MediaBrowser.Providers.Tmdb.Movies
+namespace MediaBrowser.Providers.Plugins.Tmdb.Movies
 {
     public class TmdbSearch
     {

+ 1 - 1
MediaBrowser.Providers/Tmdb/Movies/TmdbSettings.cs → MediaBrowser.Providers/Plugins/Tmdb/Movies/TmdbSettings.cs

@@ -1,6 +1,6 @@
 using System.Collections.Generic;
 
-namespace MediaBrowser.Providers.Tmdb.Movies
+namespace MediaBrowser.Providers.Plugins.Tmdb.Movies
 {
     internal class TmdbImageSettings
     {

+ 2 - 2
MediaBrowser.Providers/Tmdb/Music/TmdbMusicVideoProvider.cs → MediaBrowser.Providers/Plugins/Tmdb/Music/TmdbMusicVideoProvider.cs

@@ -6,9 +6,9 @@ using MediaBrowser.Common.Net;
 using MediaBrowser.Controller.Entities;
 using MediaBrowser.Controller.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>
     {

+ 1 - 1
MediaBrowser.Providers/Tmdb/People/TmdbPersonExternalId.cs → MediaBrowser.Providers/Plugins/Tmdb/People/TmdbPersonExternalId.cs

@@ -2,7 +2,7 @@ using MediaBrowser.Controller.Entities;
 using MediaBrowser.Controller.Providers;
 using MediaBrowser.Model.Entities;
 
-namespace MediaBrowser.Providers.Tmdb.People
+namespace MediaBrowser.Providers.Plugins.Tmdb.People
 {
     public class TmdbPersonExternalId : IExternalId
     {

+ 4 - 4
MediaBrowser.Providers/Tmdb/People/TmdbPersonImageProvider.cs → MediaBrowser.Providers/Plugins/Tmdb/People/TmdbPersonImageProvider.cs

@@ -10,11 +10,11 @@ using MediaBrowser.Controller.Providers;
 using MediaBrowser.Model.Entities;
 using MediaBrowser.Model.Providers;
 using MediaBrowser.Model.Serialization;
-using MediaBrowser.Providers.Tmdb.Models.General;
-using MediaBrowser.Providers.Tmdb.Models.People;
-using MediaBrowser.Providers.Tmdb.Movies;
+using MediaBrowser.Providers.Plugins.Tmdb.Models.General;
+using MediaBrowser.Providers.Plugins.Tmdb.Models.People;
+using MediaBrowser.Providers.Plugins.Tmdb.Movies;
 
-namespace MediaBrowser.Providers.Tmdb.People
+namespace MediaBrowser.Providers.Plugins.Tmdb.People
 {
     public class TmdbPersonImageProvider : IRemoteImageProvider, IHasOrder
     {

+ 5 - 5
MediaBrowser.Providers/Tmdb/People/TmdbPersonProvider.cs → MediaBrowser.Providers/Plugins/Tmdb/People/TmdbPersonProvider.cs

@@ -17,13 +17,13 @@ using MediaBrowser.Model.IO;
 using MediaBrowser.Model.Net;
 using MediaBrowser.Model.Providers;
 using MediaBrowser.Model.Serialization;
-using MediaBrowser.Providers.Tmdb.Models.General;
-using MediaBrowser.Providers.Tmdb.Models.People;
-using MediaBrowser.Providers.Tmdb.Models.Search;
-using MediaBrowser.Providers.Tmdb.Movies;
+using MediaBrowser.Providers.Plugins.Tmdb.Models.General;
+using MediaBrowser.Providers.Plugins.Tmdb.Models.People;
+using MediaBrowser.Providers.Plugins.Tmdb.Models.Search;
+using MediaBrowser.Providers.Plugins.Tmdb.Movies;
 using Microsoft.Extensions.Logging;
 
-namespace MediaBrowser.Providers.Tmdb.People
+namespace MediaBrowser.Providers.Plugins.Tmdb.People
 {
     public class TmdbPersonProvider : IRemoteMetadataProvider<Person, PersonLookupInfo>
     {

+ 6 - 6
MediaBrowser.Providers/Tmdb/TV/TmdbEpisodeImageProvider.cs → MediaBrowser.Providers/Plugins/Tmdb/TV/TmdbEpisodeImageProvider.cs

@@ -13,11 +13,11 @@ using MediaBrowser.Model.Globalization;
 using MediaBrowser.Model.IO;
 using MediaBrowser.Model.Providers;
 using MediaBrowser.Model.Serialization;
-using MediaBrowser.Providers.Tmdb.Models.General;
-using MediaBrowser.Providers.Tmdb.Movies;
+using MediaBrowser.Providers.Plugins.Tmdb.Models.General;
+using MediaBrowser.Providers.Plugins.Tmdb.Movies;
 using Microsoft.Extensions.Logging;
 
-namespace MediaBrowser.Providers.Tmdb.TV
+namespace MediaBrowser.Providers.Plugins.Tmdb.TV
 {
     public class TmdbEpisodeImageProvider :
             TmdbEpisodeProviderBase,
@@ -80,7 +80,6 @@ namespace MediaBrowser.Providers.Tmdb.TV
                 RatingType = RatingType.Score
             }));
 
-
             var isLanguageEn = string.Equals(language, "en", StringComparison.OrdinalIgnoreCase);
 
             return list.OrderByDescending(i =>
@@ -89,6 +88,7 @@ namespace MediaBrowser.Providers.Tmdb.TV
                 {
                     return 3;
                 }
+
                 if (!isLanguageEn)
                 {
                     if (string.Equals("en", i.Language, StringComparison.OrdinalIgnoreCase))
@@ -96,15 +96,16 @@ namespace MediaBrowser.Providers.Tmdb.TV
                         return 2;
                     }
                 }
+
                 if (string.IsNullOrEmpty(i.Language))
                 {
                     return isLanguageEn ? 3 : 2;
                 }
+
                 return 0;
             })
                 .ThenByDescending(i => i.CommunityRating ?? 0)
                 .ThenByDescending(i => i.VoteCount ?? 0);
-
         }
 
         private IEnumerable<Still> GetPosters(StillImages images)
@@ -112,7 +113,6 @@ namespace MediaBrowser.Providers.Tmdb.TV
             return images.Stills ?? new List<Still>();
         }
 
-
         public Task<HttpResponseInfo> GetImageResponse(string url, CancellationToken cancellationToken)
         {
             return GetResponse(url, cancellationToken);

+ 2 - 1
MediaBrowser.Providers/Tmdb/TV/TmdbEpisodeProvider.cs → MediaBrowser.Providers/Plugins/Tmdb/TV/TmdbEpisodeProvider.cs

@@ -18,7 +18,7 @@ using MediaBrowser.Model.Providers;
 using MediaBrowser.Model.Serialization;
 using Microsoft.Extensions.Logging;
 
-namespace MediaBrowser.Providers.Tmdb.TV
+namespace MediaBrowser.Providers.Plugins.Tmdb.TV
 {
     public class TmdbEpisodeProvider :
             TmdbEpisodeProviderBase,
@@ -203,6 +203,7 @@ namespace MediaBrowser.Providers.Tmdb.TV
         {
             return GetResponse(url, cancellationToken);
         }
+
         // After TheTvDb
         public int Order => 1;
 

+ 5 - 3
MediaBrowser.Providers/Tmdb/TV/TmdbEpisodeProviderBase.cs → MediaBrowser.Providers/Plugins/Tmdb/TV/TmdbEpisodeProviderBase.cs

@@ -8,11 +8,11 @@ using MediaBrowser.Controller.Configuration;
 using MediaBrowser.Model.Globalization;
 using MediaBrowser.Model.IO;
 using MediaBrowser.Model.Serialization;
-using MediaBrowser.Providers.Tmdb.Models.TV;
-using MediaBrowser.Providers.Tmdb.Movies;
+using MediaBrowser.Providers.Plugins.Tmdb.Models.TV;
+using MediaBrowser.Providers.Plugins.Tmdb.Movies;
 using Microsoft.Extensions.Logging;
 
-namespace MediaBrowser.Providers.Tmdb.TV
+namespace MediaBrowser.Providers.Plugins.Tmdb.TV
 {
     public abstract class TmdbEpisodeProviderBase
     {
@@ -53,6 +53,7 @@ namespace MediaBrowser.Providers.Tmdb.TV
             {
                 throw new ArgumentNullException(nameof(tmdbId));
             }
+
             if (string.IsNullOrEmpty(language))
             {
                 throw new ArgumentNullException(nameof(language));
@@ -80,6 +81,7 @@ namespace MediaBrowser.Providers.Tmdb.TV
             {
                 throw new ArgumentNullException(nameof(tmdbId));
             }
+
             if (string.IsNullOrEmpty(preferredLanguage))
             {
                 throw new ArgumentNullException(nameof(preferredLanguage));

+ 3 - 3
MediaBrowser.Providers/Tmdb/TV/TmdbSeasonImageProvider.cs → MediaBrowser.Providers/Plugins/Tmdb/TV/TmdbSeasonImageProvider.cs

@@ -12,10 +12,10 @@ using MediaBrowser.Model.Dto;
 using MediaBrowser.Model.Entities;
 using MediaBrowser.Model.Providers;
 using MediaBrowser.Model.Serialization;
-using MediaBrowser.Providers.Tmdb.Models.General;
-using MediaBrowser.Providers.Tmdb.Movies;
+using MediaBrowser.Providers.Plugins.Tmdb.Models.General;
+using MediaBrowser.Providers.Plugins.Tmdb.Movies;
 
-namespace MediaBrowser.Providers.Tmdb.TV
+namespace MediaBrowser.Providers.Plugins.Tmdb.TV
 {
     public class TmdbSeasonImageProvider : IRemoteImageProvider, IHasOrder
     {

+ 5 - 4
MediaBrowser.Providers/Tmdb/TV/TmdbSeasonProvider.cs → MediaBrowser.Providers/Plugins/Tmdb/TV/TmdbSeasonProvider.cs

@@ -14,12 +14,12 @@ using MediaBrowser.Model.IO;
 using MediaBrowser.Model.Net;
 using MediaBrowser.Model.Providers;
 using MediaBrowser.Model.Serialization;
-using MediaBrowser.Providers.Tmdb.Models.TV;
-using MediaBrowser.Providers.Tmdb.Movies;
+using MediaBrowser.Providers.Plugins.Tmdb.Models.TV;
+using MediaBrowser.Providers.Plugins.Tmdb.Movies;
 using Microsoft.Extensions.Logging;
 using Season = MediaBrowser.Controller.Entities.TV.Season;
 
-namespace MediaBrowser.Providers.Tmdb.TV
+namespace MediaBrowser.Providers.Plugins.Tmdb.TV
 {
     public class TmdbSeasonProvider : IRemoteMetadataProvider<Season, SeasonInfo>
     {
@@ -145,6 +145,7 @@ namespace MediaBrowser.Providers.Tmdb.TV
             {
                 throw new ArgumentNullException(nameof(tmdbId));
             }
+
             if (string.IsNullOrEmpty(language))
             {
                 throw new ArgumentNullException(nameof(language));
@@ -172,6 +173,7 @@ namespace MediaBrowser.Providers.Tmdb.TV
             {
                 throw new ArgumentNullException(nameof(tmdbId));
             }
+
             if (string.IsNullOrEmpty(preferredLanguage))
             {
                 throw new ArgumentNullException(nameof(preferredLanguage));
@@ -216,7 +218,6 @@ namespace MediaBrowser.Providers.Tmdb.TV
                 Url = url,
                 CancellationToken = cancellationToken,
                 AcceptHeader = TmdbUtils.AcceptHeader
-
             }).ConfigureAwait(false))
             {
                 using (var json = response.Content)

+ 1 - 1
MediaBrowser.Providers/Tmdb/TV/TmdbSeriesExternalId.cs → MediaBrowser.Providers/Plugins/Tmdb/TV/TmdbSeriesExternalId.cs

@@ -2,7 +2,7 @@ using MediaBrowser.Controller.Entities.TV;
 using MediaBrowser.Controller.Providers;
 using MediaBrowser.Model.Entities;
 
-namespace MediaBrowser.Providers.Tmdb.TV
+namespace MediaBrowser.Providers.Plugins.Tmdb.TV
 {
     public class TmdbSeriesExternalId : IExternalId
     {

+ 8 - 4
MediaBrowser.Providers/Tmdb/TV/TmdbSeriesImageProvider.cs → MediaBrowser.Providers/Plugins/Tmdb/TV/TmdbSeriesImageProvider.cs

@@ -12,11 +12,11 @@ using MediaBrowser.Model.Entities;
 using MediaBrowser.Model.IO;
 using MediaBrowser.Model.Providers;
 using MediaBrowser.Model.Serialization;
-using MediaBrowser.Providers.Tmdb.Models.General;
-using MediaBrowser.Providers.Tmdb.Models.TV;
-using MediaBrowser.Providers.Tmdb.Movies;
+using MediaBrowser.Providers.Plugins.Tmdb.Models.General;
+using MediaBrowser.Providers.Plugins.Tmdb.Models.TV;
+using MediaBrowser.Providers.Plugins.Tmdb.Movies;
 
-namespace MediaBrowser.Providers.Tmdb.TV
+namespace MediaBrowser.Providers.Plugins.Tmdb.TV
 {
     public class TmdbSeriesImageProvider : IRemoteImageProvider, IHasOrder
     {
@@ -99,6 +99,7 @@ namespace MediaBrowser.Providers.Tmdb.TV
                 {
                     return 3;
                 }
+
                 if (!isLanguageEn)
                 {
                     if (string.Equals("en", i.Language, StringComparison.OrdinalIgnoreCase))
@@ -106,10 +107,12 @@ namespace MediaBrowser.Providers.Tmdb.TV
                         return 2;
                     }
                 }
+
                 if (string.IsNullOrEmpty(i.Language))
                 {
                     return isLanguageEn ? 3 : 2;
                 }
+
                 return 0;
             })
                 .ThenByDescending(i => i.CommunityRating ?? 0)
@@ -171,6 +174,7 @@ namespace MediaBrowser.Providers.Tmdb.TV
 
             return null;
         }
+
         // After tvdb and fanart
         public int Order => 2;
 

+ 6 - 7
MediaBrowser.Providers/Tmdb/TV/TmdbSeriesProvider.cs → MediaBrowser.Providers/Plugins/Tmdb/TV/TmdbSeriesProvider.cs

@@ -17,12 +17,12 @@ using MediaBrowser.Model.Globalization;
 using MediaBrowser.Model.IO;
 using MediaBrowser.Model.Providers;
 using MediaBrowser.Model.Serialization;
-using MediaBrowser.Providers.Tmdb.Models.Search;
-using MediaBrowser.Providers.Tmdb.Models.TV;
-using MediaBrowser.Providers.Tmdb.Movies;
+using MediaBrowser.Providers.Plugins.Tmdb.Models.Search;
+using MediaBrowser.Providers.Plugins.Tmdb.Models.TV;
+using MediaBrowser.Providers.Plugins.Tmdb.Movies;
 using Microsoft.Extensions.Logging;
 
-namespace MediaBrowser.Providers.Tmdb.TV
+namespace MediaBrowser.Providers.Plugins.Tmdb.TV
 {
     public class TmdbSeriesProvider : IRemoteMetadataProvider<Series, SeriesInfo>, IHasOrder
     {
@@ -263,10 +263,12 @@ namespace MediaBrowser.Providers.Tmdb.TV
                 {
                     series.SetProviderId(MetadataProviders.Imdb, ids.Imdb_Id);
                 }
+
                 if (ids.Tvrage_Id > 0)
                 {
                     series.SetProviderId(MetadataProviders.TvRage, ids.Tvrage_Id.ToString(_usCulture));
                 }
+
                 if (ids.Tvdb_Id > 0)
                 {
                     series.SetProviderId(MetadataProviders.Tvdb, ids.Tvdb_Id.ToString(_usCulture));
@@ -416,7 +418,6 @@ namespace MediaBrowser.Providers.Tmdb.TV
                 Url = url,
                 CancellationToken = cancellationToken,
                 AcceptHeader = TmdbUtils.AcceptHeader
-
             }).ConfigureAwait(false))
             {
                 using (var json = response.Content)
@@ -453,7 +454,6 @@ namespace MediaBrowser.Providers.Tmdb.TV
                     Url = url,
                     CancellationToken = cancellationToken,
                     AcceptHeader = TmdbUtils.AcceptHeader
-
                 }).ConfigureAwait(false))
                 {
                     using (var json = response.Content)
@@ -518,7 +518,6 @@ namespace MediaBrowser.Providers.Tmdb.TV
                 Url = url,
                 CancellationToken = cancellationToken,
                 AcceptHeader = TmdbUtils.AcceptHeader
-
             }).ConfigureAwait(false))
             {
                 using (var json = response.Content)

+ 3 - 3
MediaBrowser.Providers/Tmdb/TmdbUtils.cs → MediaBrowser.Providers/Plugins/Tmdb/TmdbUtils.cs

@@ -1,11 +1,11 @@
 using System;
 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>
-    /// Utilities for the TMDb provider
+    /// Utilities for the TMDb provider.
     /// </summary>
     public static class TmdbUtils
     {

+ 2 - 2
MediaBrowser.Providers/Tmdb/Trailers/TmdbTrailerProvider.cs → MediaBrowser.Providers/Plugins/Tmdb/Trailers/TmdbTrailerProvider.cs

@@ -5,9 +5,9 @@ using MediaBrowser.Common.Net;
 using MediaBrowser.Controller.Entities;
 using MediaBrowser.Controller.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>
     {