38def printProperties(msg, c, nestLevel = 0, printDefaults=False):
39
40
41 props = {**c.getDefaultProperties(), **c._properties} if printDefaults else c._properties
42
43 for propname, propval in sorted(props.items()):
44
45
46 if isinstance(propval, GaudiConfig2.Configurable):
47 msg.info("%s * %s: %s", " "*nestLevel, propname, propval.getFullJobOptName())
48 printProperties(msg, propval, nestLevel+3, printDefaults)
49
50 elif isinstance(propval, GaudiHandles.PrivateToolHandleArray):
51 msg.info( "%s * %s: PrivateToolHandleArray of size %s", " "*nestLevel, propname, len(propval))
52 for el in propval:
53 msg.info( "%s * %s/%s", " "*(nestLevel+3), el.__cpp_type__, el.getName())
54 printProperties(msg, el, nestLevel+6, printDefaults)
55
56
57 elif isinstance(propval, DataHandle):
58 propval = propval.Path
59
60 msg.info("%s * %s: %r", " "*nestLevel, propname, propval)
61
62