The Gaudi Framework  v36r1 (3e2fb5a8)
GaudiConfig2._configurables.ConfigurableMeta Class Reference
Inheritance diagram for GaudiConfig2._configurables.ConfigurableMeta:
Collaboration diagram for GaudiConfig2._configurables.ConfigurableMeta:

Public Member Functions

def __new__ (cls, name, bases, namespace, **kwds)
 

Detailed Description

Metaclass for Configurables.

Definition at line 91 of file _configurables.py.

Member Function Documentation

◆ __new__()

def GaudiConfig2._configurables.ConfigurableMeta.__new__ (   cls,
  name,
  bases,
  namespace,
**  kwds 
)

Definition at line 96 of file _configurables.py.

96  def __new__(cls, name, bases, namespace, **kwds):
97  props = {
98  key: namespace[key]
99  for key in namespace if isinstance(namespace[key], Property)
100  }
101  if props:
102  doc = namespace.get('__doc__', '').rstrip()
103  doc += '\n\nProperties\n----------\n'
104  doc += '\n'.join([
105  '- {name}: {p.cpp_type} ({p.default!r})\n {p.__doc__}\n'.
106  format(name=n, p=props[n]) for n in props
107  ])
108  namespace['__doc__'] = doc
109  if sys.version_info < (3, 6): # pragma no cover
110  for n in props:
111  namespace[n].__set_name__(None, n)
112  namespace['_descriptors'] = props
113  slots = set(namespace.get('__slots__', []))
114  slots.update(['_properties', '_name'])
115  namespace['__slots__'] = tuple(slots)
116  result = type.__new__(cls, name, bases, namespace)
117  return result
118 
119 

The documentation for this class was generated from the following file:
format
GAUDI_API std::string format(const char *,...)
MsgStream format utility "a la sprintf(...)".
Definition: MsgStream.cpp:119