From 67b31746431d9ef7afa5c4090a52b5fc66e2140d Mon Sep 17 00:00:00 2001
From: Florian Spreckelsen <f.spreckelsen@indiscale.com>
Date: Fri, 24 Jan 2025 11:32:22 +0100
Subject: [PATCH] ENH: Make PI column name configurable

---
 .../caosdb-server/scripting/bin/update_containers.py   | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/sample-management-custom/caosdb-server/scripting/bin/update_containers.py b/sample-management-custom/caosdb-server/scripting/bin/update_containers.py
index 12ef9b6..985a5d1 100755
--- a/sample-management-custom/caosdb-server/scripting/bin/update_containers.py
+++ b/sample-management-custom/caosdb-server/scripting/bin/update_containers.py
@@ -194,13 +194,13 @@ def main():
                 child.get_property(custom_label_prop.id).value = row[get_column_header_name("custom_label_prop")]
 
         # Treat PI
-        if _value_in_row("PI", row):
-            pi = row["PI"]
-            pi_prop = cached_get_entity_by(query="FIND PROPERTY Pi")
+        if _value_in_row(get_column_header_name("PI"), row):
+            pi = row[get_column_header_name("PI")]
+            pi_prop = cached_get_entity_by(query=f"FIND PROPERTY {get_entity_name{'PI'}")
             try:
                 query = f"FIND RECORD Person WITH ID={int(pi)}"
             except ValueError:
-                query = f"FIND RECORD Person WITH AN Abbreviation='{pi}'"
+                query = f"FIND RECORD Person WITH AN '{get_entity_name('abbreviation_prop')}'='{pi}'"
             try:
                 pi_rec = cached_get_entity_by(query=query)
                 if child.get_property(pi_prop.name) is not None:
@@ -208,7 +208,7 @@ def main():
                 else:
                     child.add_property(id=pi_prop.id, name=pi_prop.name, value=pi_rec.id)
             except db.EmptyUniqueQueryError:
-                logger.warning(f"There is no PI with BIS ID or abbreviation {pi}. Skipping.")
+                logger.warning(f"There is no PI with ID or {get_entity_name('abbreviation_prop')} {pi}. Skipping.")
 
         # Collection(s)
         if _value_in_row("Collection", row):
-- 
GitLab