in liminal/core/config/defaults/default_configs.py [0:0]
def apply_variable_substitution(subliminal, superliminal, is_render_variables=False):
"""
if is_render_variables is True
Replace all {{variable.key}} in subliminal with variable.value variable in
subliminal.variables + superliminal.variables
else
merge subliminal.variables with superliminal.variables without replace
placeholders
"""
keyword = "variables"
merged_variables = dict_util.merge_dicts(subliminal.get(keyword, {}), superliminal.get(keyword, {}), True)
if is_render_variables:
for k, v in merged_variables.items():
if isinstance(v, str) or (not isinstance(v, dict) and not isinstance(v, list)):
merged_variables[k] = dict_util.replace_placholders_in_string(str(v), merged_variables)
merged_variables = dict_util.replace_placeholders(merged_variables, merged_variables)
return dict_util.replace_placeholders(subliminal, merged_variables)
else:
subliminal[keyword] = merged_variables
return subliminal