295 Bootstrap the application with minimal use of Python bindings. 298 from GaudiKernel.Proxy.Configurable
import expandvars
303 from GaudiKernel.Proxy.Configurable
import Configurable, getNeededConfigurables
306 if _bootstrap
is None:
309 self.log.debug(
'basicInit: instantiate ApplicationMgr')
310 self.
ip = self.
g = _bootstrap.createApplicationMgr()
312 self.log.debug(
'basicInit: apply options')
315 comp =
'ApplicationMgr' 316 props = Configurable.allConfigurables.get(comp, {})
318 props =
expandvars(props.getValuedProperties())
319 for p, v
in props.items() + [(
'JobOptionsType',
'NONE')]:
320 if not self.g.setProperty(p, str(v)):
321 self.log.error(
'Cannot set property %s.%s to %s', comp, p, v)
324 if _bootstrap.ROOT_VERSION < (6, 2, 7):
332 msp = self.g.getService(comp)
334 self.log.error(
'Cannot get service %s', comp)
336 props = Configurable.allConfigurables.get(comp, {})
338 props =
expandvars(props.getValuedProperties())
339 for p, v
in props.items():
340 if not _bootstrap.setProperty(msp, p, str(v)):
341 self.log.error(
'Cannot set property %s.%s to %s', comp, p, v)
345 comp =
'JobOptionsSvc' 346 jos = self.g.getService(comp)
348 self.log.error(
'Cannot get service %s', comp)
351 c = Configurable.allConfigurables[n]
352 if n
in [
'ApplicationMgr',
'MessageSvc']:
354 for p, v
in c.getValuedProperties().items():
357 if hasattr(Configurable,
"PropertyReference")
and type(v) == Configurable.PropertyReference:
363 elif type(v) == long:
365 _bootstrap.addPropertyToCatalogue(jos, n, p, str(v))
366 if hasattr(Configurable,
"_configurationLocked"):
367 Configurable._configurationLocked =
True 368 self.log.debug(
'basicInit: done')