TheTVDB metadata - V3 API and related issues

Master discussion - TVDB V3 metadata issues.

The purpose of this thread is to bring the many threads which are spread throughout the forum into one discussion.

This will remain open while the issue is ongoing.
It is linked to the companion announcement on this issue.

Content from other threads have been moved here.
Those threads have been subsequently closed in favor of continuation here.

Please do not create new topics as it only creates more work and confusion.

I also ask:

  1. Don’t create “Me too” posts . These only serve to break up meaningful discussion.
  2. Tangential or possibly tangential issues should be discussed in a new thread . When relevant information is discovered, that information be boiled up and posted here as supplemental information.
  3. Please don’t create new threads just for the sake of ranting. The issue is known and being worked. Rant threads will be summarily closed.

We have this problem and its solution space well defined. Please be patient and allow us to work.

20 Likes

Reading Any of the other threads about this issue will reveal TVDB is belly up at the moment. This may or may not improve over time, but like everyone else - we’re waiting to see what happens next.

1 Like

They set v3 free again:
https://forums.thetvdb.com/viewtopic.php?f=3&t=60048

Let’s see how long it lives this time and how it plays with Plex.

1 Like

So far - Meh… I am getting artwork and text… occasionally (the local internet is struggling - TVDB is probably not responsible for that).

Many thanks, I wasn’t aware.

Just tested with the recent War of the Worlds. Text metadata was pulled, art work not.

I take it any episodes added that didn’t have metadata added need to be updated manually? Just tried this week’s NCIS at the episode and show level although it had a nice long think nothing changed.

That’s a tough one. I had to fix match due to there being about 5 of those things with similar, or exact same names and Plex can’t decide, by a proper file name, what to do.

Also, at last check, the show hadn’t even been put in ‘Current’, still residing in ‘Pending’ - after the last episode has aired (if you can believe it). Also 2; there wasn’t even a year associated with the show yet - still being in Pending and all. Natural Matches will probably be spotty to non-existent for a while.

Update

We are working with folks at TheTVDB.

We see the SSL errors in the logs when communicating with their servers.

I will update further when we know what changed on their end and how to resolve after the RCA is complete.

Independently, we will likely be making a few changes on our end to further insulate from this type thing happening again in the future.

10 Likes

Thank you Chuck!! <3

The main problem is TVDB is now using SNI for https://artworks.thetvdb.org and your python is too old to support SNI. I worked around this for now by proxying through nginx. (There is also a minor issue with the _cache path, but stripping it seems to work?)

Modify Resources/Plug-ins-*/TheTVDB.bundle/Contents/Code/__init__.py

#TVDB_IMG_ROOT = '%s/banners/%%s' % TVDB_BASE_URL                                                                      
TVDB_IMG_ROOT = '%s/banners/%%s' % 'http://127.0.0.1:8006'  

nginx config:

server {
        listen 8006;
        listen [::]:8006;

        location /banners/_cache {
                rewrite ^/banners/_cache/(.*)$ /banners/$1 last;
                proxy_pass_request_headers on;
                proxy_set_header Host artworks.thetvdb.com;
                proxy_ssl_name artworks.thetvdb.com;
                proxy_ssl_server_name on;
                proxy_pass https://artworks.thetvdb.com;
        }

        location / {
                proxy_pass_request_headers on;
                proxy_set_header Host artworks.thetvdb.com;
                proxy_ssl_name artworks.thetvdb.com;
                proxy_ssl_server_name on;
                proxy_pass https://artworks.thetvdb.com;
        }
}
5 Likes

Changed a couple different lines and it seems to be working fine without the added proxy layer.

@132 - Explicitly request API v2 because why not (probably not necessary, but doesn’t hurt either).

-HEADERS = {'User-agent': 'Plex/Nine'}
+HEADERS = {'User-agent': 'Plex/Nine', 'Accept': 'application/vnd.thetvdb.v2'}

@1125 - Generate the thumbnail paths by just appending _t to full res banner filename, disregarding existing img_info['thumbnail'] since it’s still returning unusable (403) _cache paths

    # If we are missing a value for the thumbnail attribute, fallback to the '_cache' thumbnail
-    banner_thumb = img_info.get('thumbnail') or '_cache/%s' % banner_path
+    banner_thumb = banner_path[:-4] + '_t' + banner_path[-4:] or ''
2 Likes

What does this mean? Should I be changing something in my PLEX in order to get covers? Or just wait and it will sort itself out?

It will likely sort itself out … eventually.
TheTVDB will either fix their _cache (might be permissions or not be populated yet) or the paths returned by the API to whatever they’re using now.

In any case, the above changes are just hacky ways to have it working now and are very likely to break when things get properly fixed by TheTVDB and\or Plex, hopefully soon enough.

If I may add in?

  1. The metadata team is working with TheTVDB to work through this problem at TVDB.
    2 The team has, seeing what has happened here, realized a better way to insulate from what’s happening.

There might be some manual patching which can be done in the immediate short term for those who feel handy. Otherwise, I suspect a change in the tvdb agent will be quick to arrive.

9 Likes

It works, but only partially. Plex can now find images for the series but not for it’s corresponding seasons. That meaning no season specific poster/banners. Do they work for you? Great work nonetheless.

It’s a problem on their end, since the full resolution season posters are not loading even on their website.
Thumbnails are displaying fine, but trying to open the full res posters nets the same ‘Access Denied’ error as the _cache paths.

image

Yup, that seems to be the case. Thanks for clarifying that.

Hi Chuck, Any update on this? Expected ETA to resolution?

This was taken from the forums at TheTVDB website:

UPDATE 11/15/19:

Hello all,

Thank you for your continued patience with us and your feedback. We hear you and our devs are working on solutions to some of your biggest issues.

We know the site is struggling with slow load times at the moment. We are looking into some latency issues and hope to have a fix soon.

Top of our list for the API, is why metadata isn’t pulling into many media centers. We believe we have isolated the problem and it stems from older client libraries using SSL 3.0. We’ve made contact with many add-on developers, including PLEX with hopes to upgrade to TLS. Clearing your DNS caches would also help.

Other issues we are working on:

Wrong artwork format returned
Wrong artwork language returned
API delivering zip file discrepancies
Clients aren’t handling 301s
Default language handling

Solutions that have been deployed already:

The CDATA problem should have resolved this morning, but let us know if you are continuing to see this issue.
Pagination, for many of you downloading metadata from large tv show libraries, the pagination issue should be solved.

We will continue working on fixes and giving you regular updates.