The Gaudi Framework  v36r9p1 (5c15b2bb)
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
100  if isinstance(namespace[key], Property)
101  }
102  if props:
103  doc = namespace.get("__doc__", "").rstrip()
104  doc += "\n\nProperties\n----------\n"
105  doc += "\n".join(
106  [
107  "- {name}: {p.cpp_type} ({p.default!r})\n {p.__doc__}\n".format(
108  name=n, p=props[n]
109  )
110  for n in props
111  ]
112  )
113  namespace["__doc__"] = doc
114  if sys.version_info < (3, 6): # pragma no cover
115  for n in props:
116  namespace[n].__set_name__(None, n)
117  namespace["_descriptors"] = props
118  slots = set(namespace.get("__slots__", []))
119  slots.update(["_properties", "_name"])
120  namespace["__slots__"] = tuple(slots)
121  result = type.__new__(cls, name, bases, namespace)
122  return result
123 
124 

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