LSSTApplications  10.0+286,10.0+36,10.0+46,10.0-2-g4f67435,10.1+152,10.1+37,11.0,11.0+1,11.0-1-g47edd16,11.0-1-g60db491,11.0-1-g7418c06,11.0-2-g04d2804,11.0-2-g68503cd,11.0-2-g818369d,11.0-2-gb8b8ce7
LSSTDataManagementBasePackage
Public Member Functions | List of all members
lsst.pipe.base.argumentParser.ConfigValueAction Class Reference

argparse action callback to override config parameters using name=value pairs from the command line More...

Inheritance diagram for lsst.pipe.base.argumentParser.ConfigValueAction:

Public Member Functions

def __call__
 Override one or more config name value pairs. More...
 

Detailed Description

argparse action callback to override config parameters using name=value pairs from the command line

Definition at line 602 of file argumentParser.py.

Member Function Documentation

def lsst.pipe.base.argumentParser.ConfigValueAction.__call__ (   self,
  parser,
  namespace,
  values,
  option_string 
)

Override one or more config name value pairs.

Parameters
[in]parserargument parser (instance of ArgumentParser)
[in,out]namespaceparsed command (an instance of argparse.Namespace); updated values:
  • namespace.config
[in]valuesa list of configItemName=value pairs
[in]option_stringoption value specified by the user (a str)

Definition at line 605 of file argumentParser.py.

606  def __call__(self, parser, namespace, values, option_string):
607  """!Override one or more config name value pairs
608 
609  @param[in] parser argument parser (instance of ArgumentParser)
610  @param[in,out] namespace parsed command (an instance of argparse.Namespace);
611  updated values:
612  - namespace.config
613  @param[in] values a list of configItemName=value pairs
614  @param[in] option_string option value specified by the user (a str)
615  """
616  if namespace.config is None:
617  return
618  for nameValue in values:
619  name, sep, valueStr = nameValue.partition("=")
620  if not valueStr:
621  parser.error("%s value %s must be in form name=value" % (option_string, nameValue))
622 
623  # see if setting the string value works; if not, try eval
624  try:
625  setDottedAttr(namespace.config, name, valueStr)
626  except AttributeError:
627  parser.error("no config field: %s" % (name,))
628  except Exception:
629  try:
630  value = eval(valueStr, {})
631  except Exception:
632  parser.error("cannot parse %r as a value for %s" % (valueStr, name))
633  try:
634  setDottedAttr(namespace.config, name, value)
635  except Exception, e:
636  parser.error("cannot set config.%s=%r: %s" % (name, value, e))
def setDottedAttr
Like setattr, but accepts hierarchical names, e.g.
def __call__
Override one or more config name value pairs.

The documentation for this class was generated from the following file: