Source code for squadds.core.db_state
UNSELECT_ATTR_MAP = {
"component": "selected_component",
"component_name": "selected_component_name",
"data_type": "selected_data_type",
"qubit": "selected_qubit",
"cavity_claw": "selected_cavity",
"coupler": "selected_coupler",
"system": "selected_system",
}
SELECTION_ATTRS = (
"selected_component_name",
"selected_component",
"selected_data_type",
"selected_qubit",
"selected_cavity",
"selected_coupler",
"selected_system",
"selected_resonator_type",
)
[docs]
def reset_selections(instance):
"""
Clear the mutable selection state on an ``SQuADDS_DB`` instance.
"""
for attr in SELECTION_ATTRS:
setattr(instance, attr, None)
[docs]
def update_target_param_keys(current_keys, selected_system, df, get_sim_results_keys_fn):
"""
Apply the legacy target-parameter update rules.
"""
if selected_system is None:
raise UserWarning("No selected system df is created. Please check `self.selected_df`")
if current_keys is None:
updated = get_sim_results_keys_fn(df)
elif isinstance(current_keys, list) and len(selected_system) == 2:
updated = current_keys + get_sim_results_keys_fn(df)
elif isinstance(current_keys, list) and len(selected_system) != 1:
updated = get_sim_results_keys_fn(df)
else:
raise UserWarning("target_param_keys is not None or a list. Please check `self.target_param_keys`")
return [key for key in updated if not key.startswith("unit")]
[docs]
def get_unselect_attr_name(param):
"""
Map the public ``unselect`` parameter to the instance attribute name.
"""
return UNSELECT_ATTR_MAP.get(param)