flexget.plugins.metainfo_imdb_url
Covered: 26 lines
Missed: 4 lines
Skipped 12 lines
Percent: 86 %
 1
import re
 2
import logging
 3
from flexget.plugin import *
 5
log = logging.getLogger('metainfo_imdb_url')
 8
class MetainfoImdbUrl(object):
 9
    """
10
        Scan entry information for imdb url.
11
    """
13
    def validator(self):
14
        from flexget import validator
15
        return validator.factory('boolean')
17
    def on_feed_metainfo(self, feed):
19
        if 'scan_imdb' in feed.config:
20
            if not feed.config['scan_imdb']:
21
                return
23
        for entry in feed.entries:
24
            if not 'description' in entry:
25
                continue
26
            urls = re.findall(r'\bimdb.com/title/tt\d+\b', entry['description'])
27
            if not urls:
28
                continue
31
            urls = list(set(urls))
32
            if 1 < len(urls):
33
                log.debug('Found multiple imdb urls; not using any of: %s' %
34
                    ' '.join(urls))
35
                continue
37
            url = ''.join(['http://www.', urls[0]])
38
            entry['imdb_url'] = url
39
            log.debug('Found imdb url in description %s' % url)
41
register_plugin(MetainfoImdbUrl, 'scan_imdb', builtin=True)