The Gaudi Framework  master (594c33fa)
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 87 of file _configurables.py.

Member Function Documentation

◆ __new__()

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

Definition at line 92 of file _configurables.py.

92  def __new__(cls, name, bases, namespace, **kwds):
93  props = {
94  key: namespace[key]
95  for key in namespace
96  if isinstance(namespace[key], Property)
97  }
98  if props:
99  doc = namespace.get("__doc__", "").rstrip()
100  doc += "\n\nProperties\n----------\n"
101  doc += "\n".join(
102  [
103  f"- {name}: {p.cpp_type} ({p.default!r})\n {p.__doc__}\n"
104  for name, p in props.items()
105  ]
106  )
107  namespace["__doc__"] = doc
108  namespace["_descriptors"] = props
109  slots = set(namespace.get("__slots__", []))
110  slots.update(["_properties", "_name"])
111  namespace["__slots__"] = tuple(slots)
112  result = type.__new__(cls, name, bases, namespace)
113  return result
114 
115 

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