Skip to content

Blu-ray.com estimator crashes when info not found #1353

@Tommatheussen

Description

@Tommatheussen

Expected behaviour:

Flexget shouldn't crash.

Actual behaviour:

Flexget crashes when certain info can't be found

Steps to reproduce:

  • Step 1: Make sure a movie is in a movie_list (or any input) that does not exist on blu-ray.com. (for example The Seamstress(2009)
  • Step 2: Use a task that tries get the release dat for the movie.

Config:

DownloadMoviesTest:
    discover:
      interval: 3 hour
      what:
        - movie_list:
            list_name: "Testing"
      from:
        - piratebay: yes

Log:

2016-08-18 11:51 DEBUG    est_released  DownloadMoviesTest The Seamstress (2009)
2016-08-18 11:51 DEBUG    est_movies_bluray DownloadMoviesTest Searching Blu-ray.com for release date of The Seamstress (2009)
2016-08-18 11:51 VERBOSE  api_bluray    DownloadMoviesTest Searching from blu-ray.com title=The Seamstress
2016-08-18 11:51 DEBUG    utils.requests DownloadMoviesTest Fetching http://m.blu-ray.com/quicksearch/search.php
2016-08-18 11:51 DEBUG    utils.requests DownloadMoviesTest Fetching http://m.blu-ray.com/countries.json.php
2016-08-18 11:51 DEBUG    utils.requests DownloadMoviesTest Fetching http://m.blu-ray.com/movies/The-Seamstress-Blu-ray/6012/
2016-08-18 11:51 CRITICAL task          DownloadMoviesTest BUG: Unhandled error in plugin discover: 'NoneType' object has no attribute 'text'
Traceback (most recent call last):
  File "/usr/local/lib/python2.7/dist-packages/flexget/task.py", line 472, in __run_plugin
    return method(*args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/flexget/event.py", line 23, in __call__
    return self.func(*args, **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/flexget/plugins/input/discover.py", line 289, in on_task_input
    entries = self.estimated(entries, estimation_mode)
  File "/usr/local/lib/python2.7/dist-packages/flexget/plugins/input/discover.py", line 201, in estimated
    est_date = estimator.estimate(entry)
  File "/usr/local/lib/python2.7/dist-packages/flexget/plugins/estimators/est_released.py", line 28, in estimate
    estimate = estimator(entry)
  File "/usr/local/lib/python2.7/dist-packages/flexget/plugins/estimators/est_released_movies_bluray.py", line 31, in estimate
    movie = lookup(title=movie_name, year=movie_year, session=session)
  File "/usr/local/lib/python2.7/dist-packages/flexget/plugins/internal/api_bluray.py", line 209, in lookup
    movie = BlurayMovie(title=title, year=year)
  File "<string>", line 4, in __init__
  File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/state.py", line 306, in _initialize_instance
    manager.dispatch.init_failure(self, args, kwargs)
  File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/util/langhelpers.py", line 60, in __exit__
    compat.reraise(exc_type, exc_value, exc_tb)
  File "/usr/local/lib/python2.7/dist-packages/sqlalchemy/orm/state.py", line 303, in _initialize_instance
    return manager.original_init(*mixed[1:], **kwargs)
  File "/usr/local/lib/python2.7/dist-packages/flexget/plugins/internal/api_bluray.py", line 121, in __init__
    self.rating = float(movie_info.find('div', id='ratingscore').text.strip())
AttributeError: 'NoneType' object has no attribute 'text'

Additional information:

  • Flexget Version: 2.3.0
  • Python Version: 2.7.12
  • Installation method: pip
  • OS and version: Ubuntu server 14.04
  • Link to crash log: http://pastebin.com/1bEAkpj6

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions