def insert_data(self, key_string: str, value, values: dict): """ Speichert Daten unter `key_string`. Verwendet :func:`data_insert_pattern`, um Daten einzufügen. :param key_string: Pfad zu den Daten in self.data. Besteht aus den Keys zu den Daten, getrennt mit | (Pipe) Symbolen. :param value: Wert, der eingefügt werden soll :param values: Werte aus der JSON-Datei :raises: StepKeyError """ key_string = self.__prepare_data_manipulation(key_string, values) data_insert_pattern(key_string, self.__data, value) self.__clean_up_data_manipulation()
def select(values: dict, data: StepData): """Entfernt alle Keys, die nicht in `"relevant_keys"` stehen aus dem Dictionary. :param values: Werte aus der JSON-Datei :param data: Daten aus der API """ root = values.get("_loop_states", {}).get("_loop", None) if root is None: # If root is data root old_root = dict(data.data) data.clear_data() root = data.data else: old_root = dict(root) root.clear() for key in values["relevant_keys"]: try: data_insert_pattern(key, root, data_get_pattern(key, old_root)) except: if values.get("ignore_errors", False) is False: raise