Source code for pestifer.subcommands.config_default

# Author: Cameron F. Abrams <cfa22@drexel.edu>
"""
The config-default subcommand.  Echoes all or part of a configuration script with default
values, depending on the ``directives`` entry point.
"""
import yaml
import argparse as ap

from dataclasses import dataclass

from . import Subcommand

from ..core.config import Config

[docs] @dataclass class ConfigDefaultSubcommand(Subcommand): name: str = 'config-default' short_help: str = "show default configuration options" long_help: str = "Display default values for all available configuration options."
[docs] @staticmethod def func(args: ap.Namespace, **kwargs): config = Config().configure_new() directives = args.directives specs=config.make_default_specs(*directives) print(yaml.dump(specs)) return True
[docs] def add_subparser(self, subparsers): super().add_subparser(subparsers) self.parser.add_argument('directives', type=str, nargs='*', default=[], help='specific directives to get default values for (default: all)')