2
from optparse import SUPPRESS_HELP
3
from flexget.plugin import register_parser_option, plugins
4
from flexget.event import event
6
log = logging.getLogger('plugins')
9
@event('manager.startup')
10
def plugins_summary(manager):
11
if manager.options.plugins:
12
manager.disable_feeds()
14
print '%-20s%-30s%s' % ('Name', 'Roles (priority)', 'Info')
18
for name in sorted(plugins):
19
plugin = plugins[name]
20
# do not include test classes, unless in debug mode
21
if plugin.get('debug_plugin', False) and not manager.options.debug:
24
if plugin.instance.__doc__:
27
flags.append('builtin')
30
handlers = plugin.phase_handlers
31
roles = ', '.join('%s(%s)' % (phase, handlers[phase].priority) for phase in handlers)
32
print '%-20s%-30s%s' % (name, roles, ', '.join(flags))
36
register_parser_option('--plugins', action='store_true', dest='plugins', default=False,
37
help='Print registered plugins summary')
38
register_parser_option('--list', action='store_true', dest='plugins', default=False,