"khard.cli"
***********

Command line parsing and configuration logic for khard


Module Contents
===============

khard.cli.logger

khard.cli.field_argument(orignal: str) -> List[str]

   Ensure the fields specified for *ls -F* are proper field names.
   Nested attribute names are not checked.

   Parameters:
      **orignal** -- the value from the command line

   Returns:
      the orignal value split at "," if the fields are spelled
      correctly

   Throws:
      argparse.ArgumentTypeError

khard.cli.comma_separated_argument(original: str) -> List[str]

   Return the original string split by commas

   Parameters:
      **original** -- the value from the command line

   Returns:
      the original value split at "," and lower cased

khard.cli.create_parsers() -> Tuple[argparse.ArgumentParser, argparse.ArgumentParser]

   Create two argument parsers.

   The first parser is manly used to find the config file which can
   than be used to set some default values on the second parser.  The
   second parser can parse the remainder of the command line with the
   subcommand and all further options and arguments.

   Returns:
      the two parsers for the first and the second parsing pass

   Return type:
      (argparse.ArgumentParser, argparse.ArgumentParser)

khard.cli.parse_args(argv: List[str]) -> Tuple[argparse.Namespace, Config]

   Parse the command line arguments and return the namespace that was
   creates by argparse.ArgumentParser.parse_args().

   Parameters:
      **argv** -- the command line arguments

   Returns:
      the namespace parsed from the command line

khard.cli.merge_args_into_config(args: argparse.Namespace, config: Config) -> Config

   Merge the parsed arguments from argparse into the config object.

   Parameters:
      * **args** -- the parsed command line arguments

      * **config** -- the parsed config file

   Returns:
      the merged config object

khard.cli.init(argv: List[str]) -> Tuple[argparse.Namespace, Config]

   Initialize khard by parsing the command line and reading the config
   file

   Parameters:
      **argv** -- the command line arguments

   Returns:
      the parsed command line and the fully initialized config
