def remove_from_extras(data: FlattenDataDict, key: FlattenKey): to_remove = [] for data_key, _data_value in data.items(): if (data_key[0] == 'extras' and data_key[1] == key): to_remove.append(data_key) for item in to_remove: del data[item]
def untuplize_dict(tuplized_dict: FlattenDataDict) -> dict[str, Any]: data_dict = {} for key, value in tuplized_dict.items(): new_key = '__'.join([str(item) for item in key]) data_dict[new_key] = value return data_dict
def convert_from_extras(key: FlattenKey, data: FlattenDataDict, errors: FlattenErrorDict, context: Context) -> Any: def remove_from_extras(data: FlattenDataDict, key: FlattenKey): to_remove = [] for data_key, _data_value in data.items(): if (data_key[0] == 'extras' and data_key[1] == key): to_remove.append(data_key) for item in to_remove: del data[item] for data_key, data_value in data.items(): if (data_key[0] == 'extras' and data_key[-1] == 'key' and data_value == key[-1]): data[key] = data[('extras', data_key[1], 'value')] break else: return remove_from_extras(data, data_key[1])