The Gaudi Framework  master (181af51f)
Loading...
Searching...
No Matches
GaudiConfig2._configurables.ConfigurableMeta Class Reference
Inheritance diagram for GaudiConfig2._configurables.ConfigurableMeta:
Collaboration diagram for GaudiConfig2._configurables.ConfigurableMeta:

Public Member Functions

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

Detailed Description

Metaclass for Configurables.

Definition at line 91 of file _configurables.py.

Member Function Documentation

◆ __new__()

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 f"- {name}: {p.cpp_type} ({p.default!r})\n {p.__doc__}\n"
108 for name, p in props.items()
109 ]
110 )
111 namespace["__doc__"] = doc
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: