flexget.plugins.modify.extension
Covered: 12 lines
Missed: 12 lines
Skipped 11 lines
Percent: 50 %
 1
import logging
 2
from flexget.plugin import *
 4
log = logging.getLogger('extension')
 7
class ModifyExtension(object):
 9
    """
10
        Allows specifying file extension explicitly when all other built-in detection mechanisms fail.
12
        Example:
14
        extension: nzb
15
    """
17
    def validator(self):
18
        from flexget import validator
19
        root = validator.factory()
20
        root.accept('text')
21
        root.accept('number')
22
        return root
24
    def on_feed_modify(self, feed):
25
        ext = feed.config.get('extension')
26
        if ext.startswith('.'):
27
            ext = ext[1:]
29
        for entry in feed.entries:
30
            log.debug('`%s` filename is `%s`' % (entry['title'], entry.get('filename', 'N/A')))
31
            entry['filename'] = '%s.%s' % (entry.get('filename', entry['title']), ext)
32
            log.debug('filename is now `%s`' % entry['filename'])
34
register_plugin(ModifyExtension, 'extension')