26 def changeJobProperties(self, clientName, propertyName, newValue):
27 """Change the property of a client to a new value. Both client and property
28 can be a regular expression in which case all properties matching will
29 be changed to the new value. Note, this will only change properties that
30 already exist in the JobOptionsCatalogue.
31 Example: trigApp.changeJobProperties('.*', 'OutputLevel', DEBUG)"""
32
33 jobOptSvc = InterfaceCast(gbl.Gaudi.Interfaces.IOptionsSvc)(Helper.service(gbl.Gaudi.svcLocator(), "JobOptionsSvc"))
34 if not jobOptSvc:
35 self.log.
error(
"Cannot find JobOptionsSvc")
36 return
37
38 import re
39 reClient = re.compile(clientName)
40 reProp = re.compile(propertyName)
41
42
44 for p in jobOptSvc.items():
45 name = p._0
46 value = p._1
47 client, prop = name.rsplit('.',1)
48 if reClient.match(client) and reProp.match(prop):
49 self.log.info("Changing %s.%s from '%s' to '%s'", client, prop, value, newValue)
50 iprop = iProperty(client)
51 setattr(iprop, prop, newValue)
52
53 return
54
55