The Gaudi Framework  v36r1 (3e2fb5a8)
GaudiConfig2 Namespace Reference

Namespaces

 _configurables
 
 _db
 
 Configurables
 
 semantics
 

Functions

def _makeConfigDict (iterable)
 
def mergeConfigs (*configs)
 
def invokeConfig (func, *args, **kwargs)
 

Variables

 Configurables = ConfigurablesDB(__name__ + '.Configurables')
 
 basestring = str
 
 CALLABLE_FORMAT
 

Function Documentation

◆ _makeConfigDict()

def GaudiConfig2._makeConfigDict (   iterable)
private

Definition at line 31 of file __init__.py.

31 def _makeConfigDict(iterable):
32  try: # pragma no cover
33  from collections.abc import Mapping
34  except ImportError: # pragma no cover
35  from collections import Mapping
36  if not isinstance(iterable, Mapping):
37  return {c.name: c for c in iterable}
38  return iterable
39 
40 

◆ invokeConfig()

def GaudiConfig2.invokeConfig (   func,
args,
**  kwargs 
)

Definition at line 60 of file __init__.py.

60 def invokeConfig(func, *args, **kwargs):
61  from importlib import import_module
62 
63  if not callable(func):
64  if isinstance(func, basestring):
65  m = CALLABLE_FORMAT.match(func)
66  if m:
67  func = getattr(
68  import_module(m.group('module')), m.group('callable'))
69  else:
70  raise ValueError('invalid callable id %r' % func)
71  else:
72  raise TypeError(
73  'expected either a callable or a string as first argument')
74  return _makeConfigDict(func(*args, **kwargs))

◆ mergeConfigs()

def GaudiConfig2.mergeConfigs ( configs)
Merge configuration dictionaries ({'name': Configurable('name'), ...}) or
lists ([Configurable('name'), ...]) into one configuration dictionary.

**warning** the configurable instances passed are not cloned during the
merging, so the arguments to this function cannot be used afterwards

Definition at line 41 of file __init__.py.

41 def mergeConfigs(*configs):
42  '''
43  Merge configuration dictionaries ({'name': Configurable('name'), ...}) or
44  lists ([Configurable('name'), ...]) into one configuration dictionary.
45 
46  **warning** the configurable instances passed are not cloned during the
47  merging, so the arguments to this function cannot be used afterwards
48  '''
49  result = {}
50  for config in configs:
51  config = _makeConfigDict(config)
52  for name in config:
53  if name in result:
54  result[name].merge(config[name])
55  else:
56  result[name] = config[name]
57  return result
58 
59 

Variable Documentation

◆ basestring

GaudiConfig2.basestring = str

Definition at line 22 of file __init__.py.

◆ CALLABLE_FORMAT

GaudiConfig2.CALLABLE_FORMAT
Initial value:
1 = re.compile(
2  r'^(?P<module>[a-zA-Z_][a-zA-Z0-9_]*(?:\.[a-zA-Z_][a-zA-Z0-9_]*)*):(?P<callable>[a-zA-Z_][a-zA-Z0-9_]*)$'
3 )

Definition at line 26 of file __init__.py.

◆ Configurables

GaudiConfig2.Configurables = ConfigurablesDB(__name__ + '.Configurables')

Definition at line 13 of file __init__.py.

GaudiConfig2._makeConfigDict
def _makeConfigDict(iterable)
Definition: __init__.py:31
GaudiConfig2.invokeConfig
def invokeConfig(func, *args, **kwargs)
Definition: __init__.py:60
GaudiPluginService.cpluginsvc.func
func
Definition: cpluginsvc.py:222
GaudiConfig2.mergeConfigs
def mergeConfigs(*configs)
Definition: __init__.py:41
merge
int merge(const char *target, const char *source, bool fixup=false, bool dbg=true)
Definition: merge.C:430