Source code for lightwin.beam_calculation.deprecated_specs

"""Define monkey patches for deprecated options.

They are common to all |BC|.

"""

import logging
from typing import Any

from lightwin.config.table_spec import TableConfSpec


[docs] def apply_deprecated_flag_phi_abs( self: TableConfSpec, toml_table: dict[str, Any], **kwargs ) -> None: """Update ``reference_phase_policy`` if ``flag_phi_abs`` was given. This option is deprecated, but we keep it for compatibility. """ flag_phi_abs = toml_table.get("flag_phi_abs", None) if flag_phi_abs is None: return overriden = toml_table.get("reference_phase_policy", None) new = "phi_0_abs" if flag_phi_abs else "phi_0_rel" logging.warning( "Overriding ``reference_phase_policy`` following (deprecated) " f"{flag_phi_abs = }. reference_phase_policy {overriden} -> {new}" ) toml_table["reference_phase_policy"] = new