Source code for flexget.plugins.output.dump_config

from argparse import SUPPRESS

import yaml
from loguru import logger
from rich.syntax import Syntax

from flexget import options, plugin
from flexget.event import event
from flexget.terminal import console

logger = logger.bind(name='dump_config')


[docs] class OutputDumpConfig: """Dumps task config in STDOUT in yaml at exit or abort event."""
[docs] @plugin.priority(plugin.PRIORITY_LAST) def on_task_start(self, task, config): if task.options.dump_config: console.rule(f'config from task: {task.name}') syntax = Syntax(yaml.safe_dump(task.config).strip(), 'yaml+jinja', theme='native') console(syntax) console.rule() task.abort(silent=True) if task.options.dump_config_python: console(task.config) task.abort(silent=True)
[docs] @event('plugin.register') def register_plugin(): plugin.register(OutputDumpConfig, 'dump_config', debug=True, builtin=True, api_ver=2)
[docs] @event('options.register') def register_parser_arguments(): exec_parser = options.get_parser('execute') exec_parser.add_argument( '--dump-config', action='store_true', dest='dump_config', default=False, help='display the config of each feed after template merging/config generation occurs', ) exec_parser.add_argument( '--dump-config-python', action='store_true', dest='dump_config_python', default=False, help=SUPPRESS, )