# %% from __future__ import annotations import copy from typing import Any from dopt_basics.datastructures import DualDict from wce_crm.data_models import FIELD_DB_MAPPING_GRUNDERERFASSUNG_PERSONEN # %% dd: DualDict[str, str] = DualDict(peter="test") # %% def rename_db_data( db_data: dict[str, Any], mapping: DualDict, ) -> dict[str, Any]: new_db_data = copy.deepcopy(db_data) for k, v in db_data.items(): if k in mapping: new_db_data[mapping[k]] = v del new_db_data[k] if k in mapping.inverted: new_db_data[mapping.inverted[k]] = v del new_db_data[k] return new_db_data form_data = { "Metadaten_erstellung": "t1", "Metadaten_aktualisierung": "t2", "Metadaten_nutzer": "t3", } db_data = rename_db_data(form_data, FIELD_DB_MAPPING_GRUNDERERFASSUNG_PERSONEN) # %% db_data # %% cvt_form_data = rename_db_data(db_data, FIELD_DB_MAPPING_GRUNDERERFASSUNG_PERSONEN) cvt_form_data # %% dd["test"] = "peter" # %% dd["test"] # %% dd.inverted["peter"] # %% dd # %%