22"""This module defines YAML I/O for key lsst.daf.base classes."""
30from .dateTime
import DateTime
31from .propertyContainer
import PropertyList, getPropertyListState, setPropertyListState, \
32 getPropertySetState, setPropertySetState, PropertySet
37 loaderList = [yaml.Loader, yaml.CLoader]
39 loaderList.append(yaml.FullLoader)
40 except AttributeError:
43 loaderList.append(yaml.UnsafeLoader)
44 except AttributeError:
47 loaderList.append(yaml.SafeLoader)
48 except AttributeError:
56 """Represent an lsst.daf.base.DateTime (as ISO8601-formatted string in TAI)
58 return dumper.represent_scalar(
'lsst.daf.base.DateTime',
59 data.toString(DateTime.TAI))
63 yaml.add_representer(DateTime, dt_representer)
67 """Represent an lsst.daf.base.PropertyList as an ordered sequence of
68 name/type/value/comment lists)
71 result = getPropertyListState(data, asLists=
True)
72 return dumper.represent_sequence(
'lsst.daf.base.PropertyList', result,
77 yaml.add_representer(PropertyList, pl_representer)
81 """Represent an lsst.daf.base.PropertySet as a mapping from names to
85 result = getPropertySetState(data, asLists=
True)
86 return dumper.represent_sequence(
'lsst.daf.base.PropertySet', result,
91 yaml.add_representer(PropertySet, ps_representer)
99 """Construct an lsst.daf.base.DateTime from an ISO8601-formatted string in
102 dt = loader.construct_scalar(node)
107 """Construct an lsst.daf.base.PropertyList from a YAML pickle-like
112 state = loader.construct_sequence(node, deep=
True)
113 setPropertyListState(pl, state)
117 """Construct an lsst.daf.base.PropertyList from a YAML pickle-like
122 state = loader.construct_sequence(node, deep=
True)
123 setPropertySetState(ps, state)
127 for loader
in loaderList:
128 yaml.add_constructor(
'lsst.daf.base.PropertyList', pl_constructor, Loader=loader)
129 yaml.add_constructor(
'lsst.daf.base.PropertySet', ps_constructor, Loader=loader)
130 yaml.add_constructor(
'lsst.daf.base.DateTime', dt_constructor, Loader=loader)
def dt_representer(dumper, data)
def pl_representer(dumper, data)
def ps_representer(dumper, data)