Source code for flexget.components.estimate_release.estimators.est_movies_bluray

import datetime

from loguru import logger

from flexget import plugin
from flexget.event import event
from flexget.utils.database import Session

logger = logger.bind(name='est_movies_bluray')


[docs] class EstimatesMoviesBluray:
[docs] @plugin.priority(2) def estimate(self, entry): if 'movie_name' not in entry: return None movie_name = entry['movie_name'] movie_year = entry.get('movie_year') if movie_year is not None and movie_year > datetime.datetime.now().year: logger.debug('Skipping Blu-ray.com lookup since movie year is {}', movie_year) return None logger.debug('Searching Blu-ray.com for release date of {} ({})', movie_name, movie_year) entity_data = {'data_exists': True, 'entity_date': None} try: with Session() as session: lookup = plugin.get('api_bluray', self).lookup movie = lookup(title=movie_name, year=movie_year, session=session) if movie: entity_data['entity_date'] = movie.release_date except LookupError as e: logger.debug(e) entity_data['data_exists'] = False if entity_data['entity_date']: logger.debug('received release date: {}', entity_data['entity_date']) return entity_data
[docs] @event('plugin.register') def register_plugin(): plugin.register( EstimatesMoviesBluray, 'est_movies_bluray', interfaces=['estimate_release'], api_ver=2 )