lsst.pex.config
17.0.1-1-g703d48b+6
python
lsst
pex
config
convert.py
Go to the documentation of this file.
1
#
2
# LSST Data Management System
3
# Copyright 2008, 2009, 2010 LSST Corporation.
4
#
5
# This product includes software developed by the
6
# LSST Project (http://www.lsst.org/).
7
#
8
# This program is free software: you can redistribute it and/or modify
9
# it under the terms of the GNU General Public License as published by
10
# the Free Software Foundation, either version 3 of the License, or
11
# (at your option) any later version.
12
#
13
# This program is distributed in the hope that it will be useful,
14
# but WITHOUT ANY WARRANTY; without even the implied warranty of
15
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16
# GNU General Public License for more details.
17
#
18
# You should have received a copy of the LSST License Statement and
19
# the GNU General Public License along with this program. If not,
20
# see <http://www.lsstcorp.org/LegalNotices/>.
21
#
22
23
__all__ = (
'makePropertySet'
,
'makePolicy'
)
24
25
import
lsst.pex.policy
26
import
lsst.daf.base
27
28
29
def
makePropertySet
(config):
30
"""Convert a configuration into a `lsst.daf.base.PropertySet`.
31
32
Parameters
33
----------
34
config : `lsst.pex.config.Config`
35
Configuration instance.
36
37
Returns
38
-------
39
propertySet : `lsst.daf.base.PropertySet`
40
A `~lsst.daf.base.PropertySet` that is equivalent to the ``config``
41
instance. If ``config`` is `None` then this return value is also
42
`None`.
43
44
See also
45
--------
46
makePolicy
47
lsst.daf.base.PropertySet
48
"""
49
def
_helper(ps, prefix, dict_):
50
for
k, v
in
dict_.items():
51
name = prefix +
"."
+ k
if
prefix
is
not
None
else
k
52
if
isinstance(v, dict):
53
_helper(ps, name, v)
54
elif
v
is
not
None
:
55
ps.set(name, v)
56
57
if
config
is
not
None
:
58
ps =
lsst.daf.base.PropertySet
()
59
_helper(ps,
None
, config.toDict())
60
return
ps
61
else
:
62
return
None
63
64
65
def
makePolicy
(config):
66
"""Convert a configuration into a `lsst.pex.policy.Policy`.
67
68
Parameters
69
----------
70
config : `lsst.pex.config.Config`
71
Configuration instance.
72
73
Returns
74
-------
75
policy : `lsst.pex.policy.Policy`
76
A `~lsst.pex.policy.Policy` that is equivalent to the ``config``
77
instance. If ``config`` is `None` then return value is also `None`.
78
79
See also
80
--------
81
makePropertySet
82
lsst.pex.policy.Policy
83
"""
84
def
_helper(dict_):
85
p =
lsst.pex.policy.Policy
()
86
for
k, v
in
dict_.items():
87
if
isinstance(v, dict):
88
p.set(k, _helper(v))
89
elif
isinstance(v, list):
90
for
vi
in
v:
91
p.add(k, vi)
92
elif
v
is
not
None
:
93
p.set(k, v)
94
return
p
95
if
config:
96
return
_helper(config.toDict())
97
else
:
98
return
None
lsst.pex::policy
lsst.pex.config.convert.makePropertySet
def makePropertySet(config)
Definition:
convert.py:29
lsst.pex::policy::Policy
lsst.pex.config.convert.makePolicy
def makePolicy(config)
Definition:
convert.py:65
lsst::daf::base
lsst::daf::base::PropertySet
Generated on Thu Apr 4 2019 08:38:54 for lsst.pex.config by
1.8.13