1
from flexget.plugin import register_plugin, register_parser_option
3
from flexget.utils.tools import console
5
log = logging.getLogger('dump')
8
def dump(entries, debug=False, eval_lazy=False):
10
Dump *entries* to stdout
12
:param list entries: Entries to be dumped.
13
:param bool debug: Print non printable fields as well.
14
:param bool eval_lazy: Evaluate lazy fields.
21
#print yaml.safe_dump(entry)
24
if entry.is_lazy(field):
28
value = '<LazyField - value will be determined when it\'s accessed>'
31
assert value is not invalid
32
if isinstance(value, basestring):
34
console('%-17s: %s' % (field, value.replace('\r', '').replace('\n', '')))
36
console('%-17s: %s (warning: unable to print)' % (field, repr(value)))
37
elif isinstance(value, (int, float, list, dict)):
38
console('%-17s: %s' % (field, value))
40
console('%-17s: %s' % (field, value))
43
console('%-17s: [not printable] (%s)' % (field, value))
47
class OutputDump(object):
49
Outputs all entries to console
55
from flexget import validator
56
return validator.factory('boolean')
59
def optik(option, opt, value, parser):
61
OutputDump.params = parser.rargs[0]
63
OutputDump.params = True
65
def on_feed_output(self, feed):
66
if not 'dump' in feed.config and not OutputDump.params:
68
#from flexget.utils.tools import sanitize
71
eval_lazy = OutputDump.params == 'eval'
72
undecided = [entry for entry in feed.entries if not entry in feed.accepted]
74
console('-- Undecided: --------------------------')
75
dump(undecided, feed.manager.options.debug, eval_lazy)
77
console('-- Accepted: ---------------------------')
78
dump(feed.accepted, feed.manager.options.debug, eval_lazy)
80
console('-- Rejected: ---------------------------')
81
dump(feed.rejected, feed.manager.options.debug, eval_lazy)
83
register_plugin(OutputDump, 'dump', builtin=True)
84
#register_parser_option('--dump', action='store_true', dest='dump_entries', default=False,
85
# help='Display all feed entries')
87
register_parser_option('--dump', action='callback', callback=OutputDump.optik,
88
help='Display all entries in feed with details. '
89
'Arg `--dump eval` will evaluate all lazy fields.')