Thetvdb_list stopped working

Hello,

My flexget application stopped work and the following error appears:

BUG: Unhandled error in plugin configure_series: invalid literal for int() with base 10: ‘His Dark Materials’
Traceback (most recent call last)

The following versions are installed:
flexget 3.0.5
python 3.8.0

Can you help me resolve this problem?

I am having the exact same issue.

Exact same problem here as well. Flexget 3.0.5 and python 3.6.8

Same problem : https://discuss.flexget.com/t/thetvdb-list-just-stopped-working-unauthorized-for-url/4889/7

When thetvdb upgraded their API they changed favorites from returning Series ID to returning Show Names. flexget thetvdb_list plugin expects an integer and gets back a string. Thus the “invalid literal for int() with base 10” error.

I posted this issue on thetvdb forum https://forums.thetvdb.com/viewtopic.php?f=122&t=60239 and its listed as something they are looking at but they summarized the change wrong so who knows.

I was not able to get v2 responses back from https://api.thetvdb.com using Accept:application/vnd.thetvdb.v$VERSION but i did find a server that responds with v2 Series ID int() https://api-dev.thetvdb.com/

If you feel comfortable editing
/usr/lib/python3.6/site-packages/flexget/components/thetvdb/api_tvdb.py
BASE_URL = 'https://api.thetvdb.com/'
to
BASE_URL = 'https://api-dev.thetvdb.com/'
You will have relief from this error at least temporarily. However, I do not know how long this server will continue to respond or what its response will be. Based on the domain name it appears to be an official thetvdb server, but i do not know. Use at own risk.

1 Like

Any news on this subject ? Even when I edit BASE_URL I still get this error :

Error during input plugin thetvdb_list: Error retrieving favorites from thetvdb: 401 Client Error: Unauthorized for url: https://api-dev.thetvdb.com/login

This worked for me! Thank you <3
Let’s hope this gets fixed for real soon.

I have no idea why flexget’s thetvdb api key would stop working for you. Make sure you are running the latest version of flexget. I do not know if flexget wants their API key revealed in a forum post. I can tell you the API should start and end like below
API_KEY = ‘4DXXXXXXXXXXXX05’
You should be able to replace this key with your own personal API key which you can request from https://www.thetvdb.com/dashboard/account/apikeys and have it work.

Resources I have used to experiment:
https://api.thetvdb.com/swagger# make sure you add your token at the top of the page once you have generated one.
curl
copy the swagger examples and modify/run them on your computer.

I was already using my own tvdb key in flexget but my unique user key was changed during the migration to v3, so I edited my flexget configs to use this new one, and it seems that api-dev does not understand this new key

(and of course I have no backup of my previous key to try it out because I’m an idiot)

If you feel comfortable editing
/usr/lib/python3.6/site-packages/flexget/components/thetvdb/api_tvdb.py
BASE_URL = ‘https://api.thetvdb.com/
to
BASE_URL = ‘https://api-dev.thetvdb.com/

Unfortunately, this does not work for me. I now don’t get any errors, but all tasks (I have 3 tasks for different rss feeds) return “Summary - Accepted: 0 (Rejected: 0 Undecided: 25 Failed: 0)” (where 25 is the total number of entries returned from the feed).
Has development on the thetvdb plugin stopped and should we switch to something else? Or are the developers waiting until the new api is finished??

You can solve this invalid literal for int() with base 10 by using Python isdigit() method to check whether the value is number or not. The returns True if all the characters are digits, otherwise False.

num = "55.55"
if num.isdigit():
  print(int(num))
else:
  print("String value is not a digit : " , num)