Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Identify feature with tvmaze provider broken / inconsistent with other metadata providers #26

Open
bzzbrr opened this issue Sep 1, 2021 · 0 comments

Comments

@bzzbrr
Copy link

bzzbrr commented Sep 1, 2021

Describe the bug
The problem is two related issues with the identify feature when using TVmaze as a metadata provider:

Bug A) Unlike TVDB and TMDB, it is not possible to identify a show using the provider ID.

Bug B) Unlike TVDB and TMDB, trying to identify a show by name returns no or incorrect results when TVmaze is not the highest-priority provider. It seems to always miss the best match returned from the TVmaze API, (and so when there's only 1 results from the API, returns nothing).

System (please complete the following information):

  • OS: Ubuntu
  • Virtualization: Docker official image
  • Browser: Firefox 91
  • Jellyfin Version: 10.7.6
  • Installed Plugins: TVDB, TVmaze

To Reproduce
For A), try to manually identify a television show using the TVmaze ID. There are no results.
For B), try to manually identify a television show by name when TVmaze is lower-priority series metadata than TVDB. There are no or incorrect results.

Expected behavior
That shows can be identified by TVmaze ID, or by name when other providers are higher priority.

Screenshots

With TVDB as the higher-priority provider:

image

Identifying by TVmaze ID returns nothing:
image

Identifying by name returns nothing from TVmaze:
image

With TVmaze as the higher-priority provider:

image

Identifying by TVmaze ID returns nothing:
image

Identifying by name works correctly (for all providers):
image

Server Logs
These logs are for the entire process of generating the screenshots above, on a fresh docker container, from just after the point that the first scan completed, so errors might not be directly relevant.

[2021-09-01 17:22:53.058 -04:00] [ERR] [16] MediaBrowser.Providers.Manager.ProviderManager: Provider "TheTVDB" failed to retrieve search results
System.NullReferenceException: Object reference not set to an instance of an object.
   at Jellyfin.Plugin.Tvdb.Providers.TvdbSeriesProvider.GetComparableName(String name)
   at Jellyfin.Plugin.Tvdb.Providers.TvdbSeriesProvider.FindSeriesInternal(String name, String language, CancellationToken cancellationToken)
   at Jellyfin.Plugin.Tvdb.Providers.TvdbSeriesProvider.FindSeries(String name, Nullable`1 year, String language, CancellationToken cancellationToken)
   at Jellyfin.Plugin.Tvdb.Providers.TvdbSeriesProvider.GetSearchResults(SeriesInfo searchInfo, CancellationToken cancellationToken)
   at MediaBrowser.Providers.Manager.ProviderManager.GetSearchResults[TLookupType](IRemoteSearchProvider`1 provider, TLookupType searchInfo, CancellationToken cancellationToken)
   at MediaBrowser.Providers.Manager.ProviderManager.GetRemoteSearchResults[TItemType,TLookupType](RemoteSearchQuery`1 searchInfo, BaseItem referenceItem, CancellationToken cancellationToken)
[2021-09-01 17:22:53.061 -04:00] [WRN] [16] Jellyfin.Plugin.TvMaze.Providers.TvMazeSeriesProvider: [GetSearchResults] Error searching for null
System.ArgumentNullException: Value cannot be null. (Parameter 'query')
   at TvMaze.Api.Client.Endpoints.Search.SearchEndpoint.ShowSearchAsync(String query)
   at Jellyfin.Plugin.TvMaze.Providers.TvMazeSeriesProvider.GetSearchResults(SeriesInfo searchInfo, CancellationToken cancellationToken)
[2021-09-01 17:22:53.101 -04:00] [ERR] [16] MediaBrowser.Providers.Manager.ProviderManager: Provider "TheMovieDb" failed to retrieve search results
TMDbLib.Objects.Exceptions.GeneralHttpException: TMDb returned an unexpected HTTP error
   at TMDbLib.Rest.RestRequest.SendInternal(HttpMethod method, CancellationToken cancellationToken)
   at TMDbLib.Rest.RestRequest.ExecuteGet[T](CancellationToken cancellationToken)
   at TMDbLib.Client.TMDbClient.SearchMethod[T](String method, String query, Int32 page, String language, Nullable`1 includeAdult, Int32 year, String dateFormat, String region, Int32 primaryReleaseYear, Int32 firstAirDateYear, CancellationToken cancellationToken)
   at TMDbLib.Client.TMDbClient.SearchTvShowAsync(String query, String language, Int32 page, Boolean includeAdult, Int32 firstAirDateYear, CancellationToken cancellationToken)
   at MediaBrowser.Providers.Plugins.Tmdb.TmdbClientManager.SearchSeriesAsync(String name, String language, Int32 year, CancellationToken cancellationToken)
   at MediaBrowser.Providers.Plugins.Tmdb.TV.TmdbSeriesProvider.GetSearchResults(SeriesInfo searchInfo, CancellationToken cancellationToken)
   at MediaBrowser.Providers.Manager.ProviderManager.GetSearchResults[TLookupType](IRemoteSearchProvider`1 provider, TLookupType searchInfo, CancellationToken cancellationToken)
   at MediaBrowser.Providers.Manager.ProviderManager.GetRemoteSearchResults[TItemType,TLookupType](RemoteSearchQuery`1 searchInfo, BaseItem referenceItem, CancellationToken cancellationToken)
[2021-09-01 17:24:17.529 -04:00] [WRN] [40] Jellyfin.Server.Middleware.ResponseTimeMiddleware: Slow HTTP Response from "http://cinder.blox:8098/Shows/9ca5eead62862c01ba124ddb98b15a09/Seasons?userId=9b9af4a5a2744047970f74128a51c221&Fields=ItemCounts%2CPrimaryImageAspectRatio%2CBasicSyncInfo%2CCanDelete%2CMediaSourceCount" to "192.168.1.168" in 0:00:01.1471577 with Status Code 200
[2021-09-01 17:24:58.199 -04:00] [WRN] [20] Jellyfin.Plugin.TvMaze.Providers.TvMazeSeriesProvider: [GetSearchResults] Error searching for null
System.ArgumentNullException: Value cannot be null. (Parameter 'query')
   at TvMaze.Api.Client.Endpoints.Search.SearchEndpoint.ShowSearchAsync(String query)
   at Jellyfin.Plugin.TvMaze.Providers.TvMazeSeriesProvider.GetSearchResults(SeriesInfo searchInfo, CancellationToken cancellationToken)
[2021-09-01 17:24:58.201 -04:00] [ERR] [20] MediaBrowser.Providers.Manager.ProviderManager: Provider "TheTVDB" failed to retrieve search results
System.NullReferenceException: Object reference not set to an instance of an object.
   at Jellyfin.Plugin.Tvdb.Providers.TvdbSeriesProvider.GetComparableName(String name)
   at Jellyfin.Plugin.Tvdb.Providers.TvdbSeriesProvider.FindSeriesInternal(String name, String language, CancellationToken cancellationToken)
   at Jellyfin.Plugin.Tvdb.Providers.TvdbSeriesProvider.FindSeries(String name, Nullable`1 year, String language, CancellationToken cancellationToken)
   at Jellyfin.Plugin.Tvdb.Providers.TvdbSeriesProvider.GetSearchResults(SeriesInfo searchInfo, CancellationToken cancellationToken)
   at MediaBrowser.Providers.Manager.ProviderManager.GetSearchResults[TLookupType](IRemoteSearchProvider`1 provider, TLookupType searchInfo, CancellationToken cancellationToken)
   at MediaBrowser.Providers.Manager.ProviderManager.GetRemoteSearchResults[TItemType,TLookupType](RemoteSearchQuery`1 searchInfo, BaseItem referenceItem, CancellationToken cancellationToken)
[2021-09-01 17:24:58.249 -04:00] [ERR] [4] MediaBrowser.Providers.Manager.ProviderManager: Provider "TheMovieDb" failed to retrieve search results
TMDbLib.Objects.Exceptions.GeneralHttpException: TMDb returned an unexpected HTTP error
   at TMDbLib.Rest.RestRequest.SendInternal(HttpMethod method, CancellationToken cancellationToken)
   at TMDbLib.Rest.RestRequest.ExecuteGet[T](CancellationToken cancellationToken)
   at TMDbLib.Client.TMDbClient.SearchMethod[T](String method, String query, Int32 page, String language, Nullable`1 includeAdult, Int32 year, String dateFormat, String region, Int32 primaryReleaseYear, Int32 firstAirDateYear, CancellationToken cancellationToken)
   at TMDbLib.Client.TMDbClient.SearchTvShowAsync(String query, String language, Int32 page, Boolean includeAdult, Int32 firstAirDateYear, CancellationToken cancellationToken)
   at MediaBrowser.Providers.Plugins.Tmdb.TmdbClientManager.SearchSeriesAsync(String name, String language, Int32 year, CancellationToken cancellationToken)
   at MediaBrowser.Providers.Plugins.Tmdb.TV.TmdbSeriesProvider.GetSearchResults(SeriesInfo searchInfo, CancellationToken cancellationToken)
   at MediaBrowser.Providers.Manager.ProviderManager.GetSearchResults[TLookupType](IRemoteSearchProvider`1 provider, TLookupType searchInfo, CancellationToken cancellationToken)
   at MediaBrowser.Providers.Manager.ProviderManager.GetRemoteSearchResults[TItemType,TLookupType](RemoteSearchQuery`1 searchInfo, BaseItem referenceItem, CancellationToken cancellationToken)
[2021-09-01 17:25:07.977 -04:00] [WRN] [18] Jellyfin.Plugin.TvMaze.Providers.TvMazeSeriesProvider: [GetSearchResults] Error searching for null
System.ArgumentNullException: Value cannot be null. (Parameter 'query')
   at TvMaze.Api.Client.Endpoints.Search.SearchEndpoint.ShowSearchAsync(String query)
   at Jellyfin.Plugin.TvMaze.Providers.TvMazeSeriesProvider.GetSearchResults(SeriesInfo searchInfo, CancellationToken cancellationToken)
[2021-09-01 17:25:07.978 -04:00] [ERR] [18] MediaBrowser.Providers.Manager.ProviderManager: Provider "TheTVDB" failed to retrieve search results
System.NullReferenceException: Object reference not set to an instance of an object.
   at Jellyfin.Plugin.Tvdb.Providers.TvdbSeriesProvider.GetComparableName(String name)
   at Jellyfin.Plugin.Tvdb.Providers.TvdbSeriesProvider.FindSeriesInternal(String name, String language, CancellationToken cancellationToken)
   at Jellyfin.Plugin.Tvdb.Providers.TvdbSeriesProvider.FindSeries(String name, Nullable`1 year, String language, CancellationToken cancellationToken)
   at Jellyfin.Plugin.Tvdb.Providers.TvdbSeriesProvider.GetSearchResults(SeriesInfo searchInfo, CancellationToken cancellationToken)
   at MediaBrowser.Providers.Manager.ProviderManager.GetSearchResults[TLookupType](IRemoteSearchProvider`1 provider, TLookupType searchInfo, CancellationToken cancellationToken)
   at MediaBrowser.Providers.Manager.ProviderManager.GetRemoteSearchResults[TItemType,TLookupType](RemoteSearchQuery`1 searchInfo, BaseItem referenceItem, CancellationToken cancellationToken)
[2021-09-01 17:25:08.020 -04:00] [ERR] [15] MediaBrowser.Providers.Manager.ProviderManager: Provider "TheMovieDb" failed to retrieve search results
TMDbLib.Objects.Exceptions.GeneralHttpException: TMDb returned an unexpected HTTP error
   at TMDbLib.Rest.RestRequest.SendInternal(HttpMethod method, CancellationToken cancellationToken)
   at TMDbLib.Rest.RestRequest.ExecuteGet[T](CancellationToken cancellationToken)
   at TMDbLib.Client.TMDbClient.SearchMethod[T](String method, String query, Int32 page, String language, Nullable`1 includeAdult, Int32 year, String dateFormat, String region, Int32 primaryReleaseYear, Int32 firstAirDateYear, CancellationToken cancellationToken)
   at TMDbLib.Client.TMDbClient.SearchTvShowAsync(String query, String language, Int32 page, Boolean includeAdult, Int32 firstAirDateYear, CancellationToken cancellationToken)
   at MediaBrowser.Providers.Plugins.Tmdb.TmdbClientManager.SearchSeriesAsync(String name, String language, Int32 year, CancellationToken cancellationToken)
   at MediaBrowser.Providers.Plugins.Tmdb.TV.TmdbSeriesProvider.GetSearchResults(SeriesInfo searchInfo, CancellationToken cancellationToken)
   at MediaBrowser.Providers.Manager.ProviderManager.GetSearchResults[TLookupType](IRemoteSearchProvider`1 provider, TLookupType searchInfo, CancellationToken cancellationToken)
   at MediaBrowser.Providers.Manager.ProviderManager.GetRemoteSearchResults[TItemType,TLookupType](RemoteSearchQuery`1 searchInfo, BaseItem referenceItem, CancellationToken cancellationToken)
[2021-09-01 17:34:09.511 -04:00] [WRN] [77] Jellyfin.Server.Middleware.ResponseTimeMiddleware: Slow HTTP Response from "http://cinder.blox:8098/Shows/9ca5eead62862c01ba124ddb98b15a09/Seasons?userId=9b9af4a5a2744047970f74128a51c221&Fields=ItemCounts%2CPrimaryImageAspectRatio%2CBasicSyncInfo%2CCanDelete%2CMediaSourceCount" to "192.168.1.168" in 0:00:01.178694 with Status Code 200
[2021-09-01 17:34:31.240 -04:00] [WRN] [78] Jellyfin.Plugin.TvMaze.Providers.TvMazeSeriesProvider: [GetSearchResults] Error searching for null
System.ArgumentNullException: Value cannot be null. (Parameter 'query')
   at TvMaze.Api.Client.Endpoints.Search.SearchEndpoint.ShowSearchAsync(String query)
   at Jellyfin.Plugin.TvMaze.Providers.TvMazeSeriesProvider.GetSearchResults(SeriesInfo searchInfo, CancellationToken cancellationToken)
[2021-09-01 17:34:31.241 -04:00] [ERR] [78] MediaBrowser.Providers.Manager.ProviderManager: Provider "TheTVDB" failed to retrieve search results
System.NullReferenceException: Object reference not set to an instance of an object.
   at Jellyfin.Plugin.Tvdb.Providers.TvdbSeriesProvider.GetComparableName(String name)
   at Jellyfin.Plugin.Tvdb.Providers.TvdbSeriesProvider.FindSeriesInternal(String name, String language, CancellationToken cancellationToken)
   at Jellyfin.Plugin.Tvdb.Providers.TvdbSeriesProvider.FindSeries(String name, Nullable`1 year, String language, CancellationToken cancellationToken)
   at Jellyfin.Plugin.Tvdb.Providers.TvdbSeriesProvider.GetSearchResults(SeriesInfo searchInfo, CancellationToken cancellationToken)
   at MediaBrowser.Providers.Manager.ProviderManager.GetSearchResults[TLookupType](IRemoteSearchProvider`1 provider, TLookupType searchInfo, CancellationToken cancellationToken)
   at MediaBrowser.Providers.Manager.ProviderManager.GetRemoteSearchResults[TItemType,TLookupType](RemoteSearchQuery`1 searchInfo, BaseItem referenceItem, CancellationToken cancellationToken)
[2021-09-01 17:42:38.676 -04:00] [WRN] [62] Jellyfin.Server.Middleware.ResponseTimeMiddleware: Slow HTTP Response from "http://cinder.blox:8098/Shows/9ca5eead62862c01ba124ddb98b15a09/Seasons?userId=9b9af4a5a2744047970f74128a51c221&Fields=ItemCounts%2CPrimaryImageAspectRatio%2CBasicSyncInfo%2CCanDelete%2CMediaSourceCount" to "192.168.1.168" in 0:00:01.1622413 with Status Code 200
[2021-09-01 17:42:47.492 -04:00] [WRN] [15] Jellyfin.Plugin.TvMaze.Providers.TvMazeSeriesProvider: [GetSearchResults] Error searching for null
System.ArgumentNullException: Value cannot be null. (Parameter 'query')
   at TvMaze.Api.Client.Endpoints.Search.SearchEndpoint.ShowSearchAsync(String query)
   at Jellyfin.Plugin.TvMaze.Providers.TvMazeSeriesProvider.GetSearchResults(SeriesInfo searchInfo, CancellationToken cancellationToken)
[2021-09-01 17:42:47.494 -04:00] [ERR] [15] MediaBrowser.Providers.Manager.ProviderManager: Provider "TheTVDB" failed to retrieve search results
System.NullReferenceException: Object reference not set to an instance of an object.
   at Jellyfin.Plugin.Tvdb.Providers.TvdbSeriesProvider.GetComparableName(String name)
   at Jellyfin.Plugin.Tvdb.Providers.TvdbSeriesProvider.FindSeriesInternal(String name, String language, CancellationToken cancellationToken)
   at Jellyfin.Plugin.Tvdb.Providers.TvdbSeriesProvider.FindSeries(String name, Nullable`1 year, String language, CancellationToken cancellationToken)
   at Jellyfin.Plugin.Tvdb.Providers.TvdbSeriesProvider.GetSearchResults(SeriesInfo searchInfo, CancellationToken cancellationToken)
   at MediaBrowser.Providers.Manager.ProviderManager.GetSearchResults[TLookupType](IRemoteSearchProvider`1 provider, TLookupType searchInfo, CancellationToken cancellationToken)
   at MediaBrowser.Providers.Manager.ProviderManager.GetRemoteSearchResults[TItemType,TLookupType](RemoteSearchQuery`1 searchInfo, BaseItem referenceItem, CancellationToken cancellationToken)
[2021-09-01 17:42:47.702 -04:00] [ERR] [95] MediaBrowser.Providers.Manager.ProviderManager: Provider "TheMovieDb" failed to retrieve search results
TMDbLib.Objects.Exceptions.GeneralHttpException: TMDb returned an unexpected HTTP error
   at TMDbLib.Rest.RestRequest.SendInternal(HttpMethod method, CancellationToken cancellationToken)
   at TMDbLib.Rest.RestRequest.ExecuteGet[T](CancellationToken cancellationToken)
   at TMDbLib.Client.TMDbClient.SearchMethod[T](String method, String query, Int32 page, String language, Nullable`1 includeAdult, Int32 year, String dateFormat, String region, Int32 primaryReleaseYear, Int32 firstAirDateYear, CancellationToken cancellationToken)
   at TMDbLib.Client.TMDbClient.SearchTvShowAsync(String query, String language, Int32 page, Boolean includeAdult, Int32 firstAirDateYear, CancellationToken cancellationToken)
   at MediaBrowser.Providers.Plugins.Tmdb.TmdbClientManager.SearchSeriesAsync(String name, String language, Int32 year, CancellationToken cancellationToken)
   at MediaBrowser.Providers.Plugins.Tmdb.TV.TmdbSeriesProvider.GetSearchResults(SeriesInfo searchInfo, CancellationToken cancellationToken)
   at MediaBrowser.Providers.Manager.ProviderManager.GetSearchResults[TLookupType](IRemoteSearchProvider`1 provider, TLookupType searchInfo, CancellationToken cancellationToken)
   at MediaBrowser.Providers.Manager.ProviderManager.GetRemoteSearchResults[TItemType,TLookupType](RemoteSearchQuery`1 searchInfo, BaseItem referenceItem, CancellationToken cancellationToken)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant