flexget.plugins.output_html
Covered: 8 lines
Missed: 21 lines
Skipped 16 lines
Percent: 27 %
 1
import os
 2
import logging
 3
from flexget.plugin import PluginError, register_plugin
 5
log = logging.getLogger('make_html')
 8
class OutputHtml:
11
    def __validator(self):
12
        from flexget import validator
13
        root = validator.factory('dict')
14
        root.accept('file', key='template')
15
        root.accept('text', key='file')
16
        return root
18
    def on_feed_output(self, feed):
19
        try:
20
            from Cheetah.Template import Template
21
        except:
22
            raise PluginError('make_html requires Cheetah template engine')
24
        config = feed.config['make_html']
26
        filename = os.path.expanduser(config['template'])
27
        output = os.path.expanduser(config['file'])
29
        import warnings
30
        warnings.simplefilter('ignore', UserWarning)
33
        template = Template(file=filename)
36
        template.accepted = feed.accepted
37
        template.rejected = feed.rejected
38
        template.entries = feed.entries
40
        f = open(output, 'w')
41
        f.write(template.respond().encode('utf-8'))
42
        f.close()
44
register_plugin(OutputHtml, 'make_html')