Flexget: imdb_watchlist plugin broken

Presumably due to IMDB making changes on their end.

Flexget version: 2.11.8

Stacktrace:

2017-12-08 19:34 CRITICAL task          populate_movies_list BUG: Unhandled error in plugin imdb_watchlist: int() argument must be a string, a bytes-like object or a number, not 'NoneType'
Traceback (most recent call last):
  File "/usr/local/lib/python3.6/site-packages/flexget/task.py", line 486, in __run_plugin
    return method(*args, **kwargs)
  File "/usr/local/lib/python3.6/site-packages/flexget/event.py", line 23, in __call__
    return self.func(*args, **kwargs)
  File "/usr/local/lib/python3.6/site-packages/flexget/utils/cached_input.py", line 148, in wrapped_func
    response = func(*args, **kwargs)
  File "/usr/local/lib/python3.6/site-packages/flexget/plugins/input/imdb_watchlist.py", line 106, in on_task_input
    total_item_count = int(soup.find('div', class_='desc').get('data-size'))
TypeError: int() argument must be a string, a bytes-like object or a number, not 'NoneType'

About this issue

  • Original URL
  • State: closed
  • Created 7 years ago
  • Comments: 25 (8 by maintainers)

Commits related to this issue

Most upvoted comments

IMDB changed two things:

  1. on the watchlist page, the list is now dynamically generated using a react javascript widget. This widget uses a JSON api.
  2. on other list pages, the compact view is gone

Accordingly, I wrote a parser for the javascript list of imdb title ids and the JSON api, and updated the html parsing code to be able to handle the detailed list view.