flexget.plugins.filter.imdb_required
Covered: 14 lines
Missed: 9 lines
Skipped 9 lines
Percent: 60 %
 1
import logging
 2
from flexget.plugin import register_plugin, priority, get_plugin_by_name, PluginError
 4
log = logging.getLogger('imdb_required')
 7
class FilterImdbRequired(object):
 8
    """
 9
    Rejects entries without imdb_url or imdb_id.
10
    Makes imdb lookup / search if necessary.
12
    Example:
14
    imdb_required: yes
15
    """
17
    def validator(self):
18
        from flexget import validator
19
        return validator.factory('boolean')
21
    @priority(32)
22
    def on_feed_filter(self, feed):
23
        for entry in feed.entries:
24
            try:
25
                get_plugin_by_name('imdb_lookup').instance.lookup(entry)
26
            except PluginError:
27
                feed.reject(entry, 'imdb required')
28
            if 'imdb_url' not in entry and 'imdb_id' not in entry:
29
                feed.reject(entry, 'imdb required')
31
register_plugin(FilterImdbRequired, 'imdb_required')