LSSTApplications  18.1.0
LSSTDataManagementBasePackage
Public Member Functions | List of all members
lsst.gdb.afw.printers.GdbOptionParser.PrintCitizenCommand Class Reference
Inheritance diagram for lsst.gdb.afw.printers.GdbOptionParser.PrintCitizenCommand:

Public Member Functions

def __init__ (self)
 
def invoke (self, args, fromTty)
 

Detailed Description

Print a Citizen
    Usage: show citizen <obj>

Definition at line 338 of file printers.py.

Constructor & Destructor Documentation

◆ __init__()

def lsst.gdb.afw.printers.GdbOptionParser.PrintCitizenCommand.__init__ (   self)

Definition at line 343 of file printers.py.

343  def __init__(self):
344  super(PrintCitizenCommand, self).__init__("show citizen",
345  gdb.COMMAND_DATA,
346  gdb.COMPLETE_SYMBOL)
347 
def __init__(self, minimum, dataRange, Q)

Member Function Documentation

◆ invoke()

def lsst.gdb.afw.printers.GdbOptionParser.PrintCitizenCommand.invoke (   self,
  args,
  fromTty 
)

Definition at line 348 of file printers.py.

348  def invoke(self, args, fromTty):
349  self.dont_repeat()
350 
351  parser = GdbOptionParser("show citizen")
352  if False:
353  parser.add_option("object", help="The object in question")
354 
355  opts = parser.parse_args(args)
356  if opts.help:
357  return
358  else:
359  opts, args = parser.parse_args(args)
360  if opts.help:
361  return
362 
363  if not args:
364  raise gdb.GdbError("Please specify an object")
365  opts.object = args.pop(0)
366 
367  if args:
368  raise gdb.GdbError(
369  "Unrecognised trailing arguments: %s" % " ".join(args))
370 
371  var = gdb.parse_and_eval(opts.object)
372  if re.search(r"shared_ptr<", str(var.type)):
373  var = var["px"]
374 
375  if var.type.code != gdb.TYPE_CODE_PTR:
376  var = var.address
377 
378  citizen = var.dynamic_cast(gdb.lookup_type(
379  "lsst::daf::base::Citizen").pointer())
380 
381  if not citizen:
382  raise gdb.GdbError(
383  "Failed to cast %s to Citizen -- is it a subclass?" % opts.object)
384 
385  citizen = citizen.dereference()
386 
387  print(citizen)
388 
389  PrintCitizenCommand()

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