From 7a85fa10b7086a1d37068d91fedd9d9730beb421 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Henrik=20tom=20W=C3=B6rden?= <h.tomwoerden@indiscale.com> Date: Thu, 23 Jan 2020 10:57:07 +0100 Subject: [PATCH] up MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Henrik tom Wörden <h.tomwoerden@indiscale.com> --- src/caosdb/common/models.py | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/caosdb/common/models.py b/src/caosdb/common/models.py index ac9321bb..495b4de5 100644 --- a/src/caosdb/common/models.py +++ b/src/caosdb/common/models.py @@ -981,6 +981,22 @@ class Entity(object): return self + def apply_to_ids(self, func): + self.id = func(self.id) + + for par in self.parents: + par.id = func(par.id) + + for prop in self.properties: + prop.id = func(prop.id) + isref = is_reference(prop.datatype) + + if isref: + if isinstance(prop.value, list): + prop.value = [func(el) for el in prop.value] + else: + prop.value = func(prop.value) + def _parse_col_values(cdt, vals): matcher = re.compile(r"^(?P<col>[^<]+)<(?P<dt>[^>]+)>$") -- GitLab