The Gaudi Framework  master (50fc5a74)
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 92 of file _configurables.py.

Member Function Documentation

◆ __new__()

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

Definition at line 97 of file _configurables.py.

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

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