Source code for pycif.plugins.obsoperators.standard.transforms.utils.initiate_default_attributes
from logging import warning
[docs]
def initiate_default_attributes(
all_transforms, mapper, transform_id
):
"""Initiate default values."""
# Loop over transforms
transf_mapper = mapper[transform_id]
successors = transf_mapper["successors"]
# Skip if already initialized
if transf_mapper.get("default_attributes_initialized", False):
return
for trid in transf_mapper["inputs"]:
if not "recombine_periods" in transf_mapper["inputs"][trid]:
transf_mapper["inputs"][trid]["recombine_periods"] = True
transf_mapper["inputs"][trid]["recombine_periods_default"] = True
if "domain" not in transf_mapper["inputs"][trid]:
continue
if not "is_lbc" in transf_mapper["inputs"][trid]:
transf_mapper["inputs"][trid]["is_lbc"] = False
transf_mapper["inputs"][trid]["is_lbc_default"] = True
if not "is_top" in transf_mapper["inputs"][trid]:
transf_mapper["inputs"][trid]["is_top"] = False
transf_mapper["inputs"][trid]["is_top_default"] = True
if not "force_loadin" in transf_mapper["inputs"][trid]:
transf_mapper["inputs"][trid]["force_loadin"] = False
transf_mapper["inputs"][trid]["force_loadin_default"] = True
for trid in transf_mapper["outputs"]:
trid_outputs = transf_mapper["outputs"][trid]
if not "recombine_periods" in trid_outputs:
trid_outputs["recombine_periods"] = True
trid_outputs["recombine_periods_default"] = True
# Special treatment for all_successors_initialized
if not "all_successors_initialized" in trid_outputs:
# If no successor for a given trid, consider initialized
if successors[trid] == [] or successors[trid] == [transform_id]:
trid_outputs["all_successors_initialized"] = True
# Deal with domain attributes
if not "domain" in trid_outputs:
continue
if not "is_lbc" in trid_outputs:
trid_outputs["is_lbc"] = False
trid_outputs["is_lbc_default"] = True
if not "is_top" in trid_outputs:
trid_outputs["is_top"] = False
trid_outputs["is_top_default"] = True
# Keep in memory that default attributes where already initialized
transf_mapper["default_attributes_initialized"] = True