lsst.pex.policy  14.0-1-g4b114ac+20
policyContinued.py
Go to the documentation of this file.
1 from __future__ import absolute_import
2 
3 __all__ = []
4 
5 from .policy import Policy
6 
7 from lsst.utils import continueClass
8 
9 
10 @continueClass # noqa F811 redefinition
11 class Policy:
12  def get(self, name):
13  type = self.getValueType(name)
14  if (type == self.UNDEF):
15  return self.getInt(name) # will raise an exception
16  # raise NameNotFound("Policy parameter name not found: " + name)
17 
18  if (type == self.INT):
19  return self.getInt(name)
20  elif (type == self.DOUBLE):
21  return self.getDouble(name)
22  elif (type == self.BOOL):
23  return self.getBool(name)
24  elif (type == self.STRING):
25  return self.getString(name)
26  elif (type == self.POLICY):
27  return self.getPolicy(name)
28  elif (type == self.FILE):
29  return self.getFile(name)
30 
31  def getArray(self, name):
32  type = self.getValueType(name)
33  if (type == self.UNDEF):
34  return self.getIntArray(name) # will raise an exception
35  # raise NameNotFound("Policy parameter name not found: " + name)
36 
37  if (type == self.INT):
38  return self.getIntArray(name)
39  elif (type == self.DOUBLE):
40  return self.getDoubleArray(name)
41  elif (type == self.BOOL):
42  return self.getBoolArray(name)
43  elif (type == self.STRING):
44  return self.getStringArray(name)
45  elif (type == self.POLICY):
46  return self.getPolicyArray(name)
47  elif (type == self.FILE):
48  return self.getFileArray(name)
49 
50  def set(self, name, value):
51  if (value is None):
52  raise RuntimeError("Attempt to set value of \"" + name +
53  "\" to None. Values must be non-None. Use remove() instead.")
54  else:
55  self._set(name, value)