LSSTApplications  19.0.0-14-gb0260a2+c4152221ba,20.0.0+428775a0ef,20.0.0+7c6b12c2f9,20.0.0+ae956f52c5,20.0.0+c388114e2c,20.0.0+e2e26847c2,20.0.0+e5529315c6,20.0.0-1-g04bee24+7c6b12c2f9,20.0.0-1-g10df615+cc9679e3e4,20.0.0-1-g253301a+7c6b12c2f9,20.0.0-1-g2b7511a+46a6078777,20.0.0-1-g4d801e7+9b3155b620,20.0.0-1-g5b95a8c+3d35cd64b7,20.0.0-1-gb058bd0+46a6078777,20.0.0-1-gb88604f+acecce4127,20.0.0-1-gc96f8cb+f5ea1f6730,20.0.0-1-gedffbd8+57e6df9186,20.0.0-10-g0891cd99+21712b8dc8,20.0.0-10-g9a20bd332+576ca7b471,20.0.0-17-gcdbda88+f8ebf1b2ab,20.0.0-2-g4dae9ad+f5ea1f6730,20.0.0-2-g61b8584+85c46248f3,20.0.0-2-gb780d76+f45b7d88f4,20.0.0-20-g7966b28+f5ea1f6730,20.0.0-21-g1f5da01+74cacf985d,20.0.0-23-g8900aa8+dfd6ff4ddf,20.0.0-3-g1653f94+85c46248f3,20.0.0-3-g4cc78c6+63636aeed8,20.0.0-3-g750bffe+3a91ba9410,20.0.0-3-gbd60e8c+ff10c6d78d,20.0.0-32-g15a0e07c+fb20712e7c,20.0.0-4-g97dc21a+dfd6ff4ddf,20.0.0-4-gfea843c+f45b7d88f4,20.0.0-5-g357b56b+f45b7d88f4,20.0.0-59-gb502cbb+701042a847,20.0.0-6-g9a5b7a1+3980549e0d,20.0.0-7-gcda7bf1+ddb9d7f898,w.2020.43
LSSTDataManagementBasePackage
Classes | Functions
lsst.pex.config.history Namespace Reference

Classes

class  Color
 

Functions

def format (config, name=None, writeSourceLine=True, prefix="", verbose=False)
 

Function Documentation

◆ format()

def lsst.pex.config.history.format (   config,
  name = None,
  writeSourceLine = True,
  prefix = "",
  verbose = False 
)
Format the history record for a configuration, or a specific
configuration field.

Parameters
----------
config : `lsst.pex.config.Config`
    A configuration instance.
name : `str`, optional
    The name of a configuration field to specifically format the history
    for. Otherwise the history of all configuration fields is printed.
writeSourceLine : `bool`, optional
    If `True`, prefix each printout line with the code filename and line
    number where the configuration event occurred. Default is `True`.
prefix : `str`, optional
    A prefix for to add to each printout line. This prefix occurs first,
    even before any source line. The default is an empty string.
verbose : `bool`, optional
    Default is `False`.

Definition at line 174 of file history.py.

174 def format(config, name=None, writeSourceLine=True, prefix="", verbose=False):
175  """Format the history record for a configuration, or a specific
176  configuration field.
177 
178  Parameters
179  ----------
180  config : `lsst.pex.config.Config`
181  A configuration instance.
182  name : `str`, optional
183  The name of a configuration field to specifically format the history
184  for. Otherwise the history of all configuration fields is printed.
185  writeSourceLine : `bool`, optional
186  If `True`, prefix each printout line with the code filename and line
187  number where the configuration event occurred. Default is `True`.
188  prefix : `str`, optional
189  A prefix for to add to each printout line. This prefix occurs first,
190  even before any source line. The default is an empty string.
191  verbose : `bool`, optional
192  Default is `False`.
193  """
194 
195  if name is None:
196  for i, name in enumerate(config.history.keys()):
197  if i > 0:
198  print()
199  print(format(config, name))
200 
201  outputs = []
202  for value, stack, label in config.history[name]:
203  output = []
204  for frame in stack:
205  if frame.function in ("__new__", "__set__", "__setattr__", "execfile", "wrapper") or \
206  os.path.split(frame.filename)[1] in ("argparse.py", "argumentParser.py"):
207  if not verbose:
208  continue
209 
210  line = []
211  if writeSourceLine:
212  line.append(["%s" % ("%s:%d" % (frame.filename, frame.lineno)), "FILE", ])
213 
214  line.append([frame.content, "TEXT", ])
215  if False:
216  line.append([frame.function, "FUNCTION_NAME", ])
217 
218  output.append(line)
219 
220  outputs.append([value, output])
221 
222  # Find the maximum widths of the value and file:lineNo fields.
223  if writeSourceLine:
224  sourceLengths = []
225  for value, output in outputs:
226  sourceLengths.append(max([len(x[0][0]) for x in output]))
227  sourceLength = max(sourceLengths)
228 
229  valueLength = len(prefix) + max([len(str(value)) for value, output in outputs])
230 
231  # Generate the config history content.
232  msg = []
233  fullname = "%s.%s" % (config._name, name) if config._name is not None else name
234  msg.append(_colorize(re.sub(r"^root\.", "", fullname), "NAME"))
235  for value, output in outputs:
236  line = prefix + _colorize("%-*s" % (valueLength, value), "VALUE") + " "
237  for i, vt in enumerate(output):
238  if writeSourceLine:
239  vt[0][0] = "%-*s" % (sourceLength, vt[0][0])
240 
241  output[i] = " ".join([_colorize(v, t) for v, t in vt])
242 
243  line += ("\n%*s" % (valueLength + 1, "")).join(output)
244  msg.append(line)
245 
246  return "\n".join(msg)
lsst.pex.config.history.format
def format(config, name=None, writeSourceLine=True, prefix="", verbose=False)
Definition: history.py:174
max
int max
Definition: BoundedField.cc:104