Source code for dffml.util.cli.parser

# SPDX-License-Identifier: MIT
# Copyright (c) 2019 Intel Corporation
import argparse

from ..data import parser_helper


[docs]def list_action(list_class): """ Action to take a list of values and make them values in the list of type list_class. Which will be a class descendent from AsyncContextManagerList. """ class ParseExpandAction(argparse.Action): def __call__(self, parser, namespace, values, option_string=None): if not isinstance(values, list): values = [values] setattr(namespace, self.dest, list_class(*values)) return ParseExpandAction
[docs]class ParseInputsAction(argparse.Action): def __call__(self, parser, namespace, values, option_string=None): if not isinstance(values, list): values = [values] ouput_specs = [ ( parser_helper(value.split("=", maxsplit=1)[0]), value.split("=", maxsplit=1)[1], ) for value in values ] setattr(namespace, self.dest, ouput_specs)