From 7d0f66d2359f4fe5591f156dd2bf9764751606a6 Mon Sep 17 00:00:00 2001 From: Alexander Schlemmer <alexander@mail-schlemmer.de> Date: Thu, 10 Feb 2022 10:09:06 +0100 Subject: [PATCH] ENH: refactored checking of extern and allow other entity types --- src/caosadvancedtools/models/parser.py | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/src/caosadvancedtools/models/parser.py b/src/caosadvancedtools/models/parser.py index e56a492f..adf08392 100644 --- a/src/caosadvancedtools/models/parser.py +++ b/src/caosadvancedtools/models/parser.py @@ -25,7 +25,7 @@ import yaml from .data_model import DataModel # Keywords which are allowed in data model descriptions. -KEYWORDS = ["parent", +KEYWORDS = ["parent", # TODO: can we remove that, see: #36 "importance", "datatype", # for example TEXT, INTEGER or REFERENCE "unit", @@ -177,13 +177,11 @@ class Parser(object): ymlmodel["extern"] = [] for name in ymlmodel["extern"]: - if db.execute_query("COUNT Property {}".format(name)) > 0: - self.model[name] = db.execute_query( - "FIND Property WITH name={}".format(name), unique=True) - - elif db.execute_query("COUNT RecordType {}".format(name)) > 0: - self.model[name] = db.execute_query( - "FIND RecordType WITH name={}".format(name), unique=True) + for role in ("Property", "RecordType", "Record", "File"): + if db.execute_query("COUNT {} {}".format(role, name)) > 0: + self.model[name] = db.execute_query( + "FIND {} WITH name={}".format(role, name), unique=True) + break else: raise Exception("Did not find {}".format(name)) -- GitLab