jellyfin / jellyfin-plugin-tvdb

GNU General Public License v3.0
50 stars 32 forks source link

"Identify" doesn't correct incorrectly scraped series #31

Open bradgy opened 3 years ago

bradgy commented 3 years ago

Issue: Misidentified show (Narrative telephone) can't be changed to correct show (Critical Role)

Setup: Jellyfin 10.7.2, traefik reverse proxy, tvdb plugin latest version, subscriber legacy api key entered

Logs when "identify" run:

[2021-04-11 08:21:41.333 +10:00] [WRN] Slow HTTP Response from "https://jellyfin.$DOMAINNAME.com/Items/RemoteSearch/Series" to "122.199.45.222" in 0:00:01.1156667 with Status Code 200
[2021-04-11 08:21:44.020 +10:00] [INF] Setting provider id's to item e9ac49d3-2dfa-8460-bff6-ab9cc636dbd1-"Narrative Telephone": "{\"Tvdb\":\"296861\"}"
[2021-04-11 08:21:48.005 +10:00] [ERR] Failed to retrieve episode with id null, series id "390572"
TvDbSharper.TvDbServerException: The given series ID does not exist; No results for your query: map[AiredSeason:2 EpisodeNumber:67]
   at TvDbSharper.Infrastructure.Parser.Parse[T](ApiResponse response, IReadOnlyDictionary`2 errorMap)
   at TvDbSharper.Clients.SeriesClient.GetEpisodesAsync(Int32 seriesId, Int32 page, EpisodeQuery query, CancellationToken cancellationToken)
   at Jellyfin.Plugin.Tvdb.TvdbClientManager.<>c__DisplayClass24_0`1.<<TryGetValue>b__0>d.MoveNext()
--- End of stack trace from previous location ---
   at Microsoft.Extensions.Caching.Memory.CacheExtensions.GetOrCreateAsync[TItem](IMemoryCache cache, Object key, Func`2 factory)
   at Jellyfin.Plugin.Tvdb.TvdbClientManager.GetEpisodeTvdbId(Int32 seriesTvdbId, EpisodeQuery episodeQuery, String language, CancellationToken cancellationToken)
   at Jellyfin.Plugin.Tvdb.Providers.TvdbEpisodeProvider.GetEpisode(EpisodeInfo searchInfo, CancellationToken cancellationToken)
[2021-04-11 08:21:48.062 +10:00] [ERR] Failed to retrieve episode images for series "390572"
TvDbSharper.TvDbServerException: The given series ID does not exist; No results for your query: map[AiredSeason:2 EpisodeNumber:67]
   at TvDbSharper.Infrastructure.Parser.Parse[T](ApiResponse response, IReadOnlyDictionary`2 errorMap)
   at TvDbSharper.Clients.SeriesClient.GetEpisodesAsync(Int32 seriesId, Int32 page, EpisodeQuery query, CancellationToken cancellationToken)
   at Jellyfin.Plugin.Tvdb.TvdbClientManager.<>c__DisplayClass24_0`1.<<TryGetValue>b__0>d.MoveNext()
--- End of stack trace from previous location ---
   at Microsoft.Extensions.Caching.Memory.CacheExtensions.GetOrCreateAsync[TItem](IMemoryCache cache, Object key, Func`2 factory)
   at Jellyfin.Plugin.Tvdb.TvdbClientManager.GetEpisodeTvdbId(Int32 seriesTvdbId, EpisodeQuery episodeQuery, String language, CancellationToken cancellationToken)
   at Jellyfin.Plugin.Tvdb.Providers.TvdbEpisodeImageProvider.GetImages(BaseItem item, CancellationToken cancellationToken)
[2021-04-11 08:21:49.115 +10:00] [ERR] Failed to retrieve episode with id null, series id "390572"
TvDbSharper.TvDbServerException: The given series ID does not exist; No results for your query: map[AiredSeason:2 EpisodeNumber:68]
   at TvDbSharper.Infrastructure.Parser.Parse[T](ApiResponse response, IReadOnlyDictionary`2 errorMap)
   at TvDbSharper.Clients.SeriesClient.GetEpisodesAsync(Int32 seriesId, Int32 page, EpisodeQuery query, CancellationToken cancellationToken)
   at Jellyfin.Plugin.Tvdb.TvdbClientManager.<>c__DisplayClass24_0`1.<<TryGetValue>b__0>d.MoveNext()
--- End of stack trace from previous location ---

Screenshot of "identify" hanging (UI stays like this for >10 min): Screenshot from 2021-04-15 11-47-33

Additional information:

theg00s3 commented 3 years ago

I get this issue as well!

bradgy commented 3 years ago

Work around that 'solved' the issue:

  1. Open edit metadata and manually replace incorrect TVDB series ID with correct one
  2. Manually change name of series to correct one
  3. Save changes
  4. Open series context menu and 'refresh metadata'
  5. Select Refresh all metadata (including replace all images)
  6. Series is immediately updated to correct one.
bradgy commented 3 years ago
  1. Select Lock Series in Edit Metadata to ensure it doesn't change back of its own accord again