diff --git a/viz_scripts/scaffolding.py b/viz_scripts/scaffolding.py index 880c819..2a0ee70 100644 --- a/viz_scripts/scaffolding.py +++ b/viz_scripts/scaffolding.py @@ -296,6 +296,11 @@ async def mapping_color_labels(dynamic_labels = {}, unique_keys = []): purpose_values = [mode["value"] for mode in labels["PURPOSE"]] if "PURPOSE" in labels else [] replaced_values = [mode["value"] for mode in labels["REPLACED_MODE"]] if "REPLACED_MODE" in labels else [] + # Append 'other' to the list if not present + for values in [mode_values, purpose_values, replaced_values]: + if "other" not in values: + values.append("other") + # Mapping between mode values and base_mode OR baseMode (backwards compatibility) value_to_basemode = {mode["value"]: mode.get("base_mode", mode.get("baseMode", "UNKNOWN")) for mode in labels["MODE"]} # Assign colors to mode, replaced, purpose, and sensed values @@ -332,6 +337,10 @@ async def translate_values_to_labels(dynamic_labels, language="en"): # Mapping between values and translations for display on plots (for Replaced mode) values_to_translations_replaced = mapping_labels(labels, "REPLACED_MODE") + # Add "other": "Other" to the values_to_translations_* dictionary if "other" key is unavailable + for dict_update in [values_to_translations_mode, values_to_translations_purpose, values_to_translations_replaced]: + dict_update.setdefault("other", "Other") + return values_to_translations_mode, values_to_translations_purpose, values_to_translations_replaced # Function: Maps survey answers to colors.