From 232ea81267f16ff56020279858ff3619f94138b2 Mon Sep 17 00:00:00 2001 From: Florian Spreckelsen <f.spreckelsen@indiscale.com> Date: Fri, 7 Feb 2025 17:08:53 +0100 Subject: [PATCH] ENH: Add start/end time treatment --- .../scripting/bin/register_new_samples.py | 2 +- .../sample_helpers/sample_upload_get_event.py | 17 ++++++++++++----- 2 files changed, 13 insertions(+), 6 deletions(-) diff --git a/sample-management-custom/caosdb-server/scripting/bin/register_new_samples.py b/sample-management-custom/caosdb-server/scripting/bin/register_new_samples.py index 1b912ee..15e22bd 100755 --- a/sample-management-custom/caosdb-server/scripting/bin/register_new_samples.py +++ b/sample-management-custom/caosdb-server/scripting/bin/register_new_samples.py @@ -28,7 +28,7 @@ def get_parser(): def get_column_names(data): # Make sure each header starts with BIS ID and Main User - starting_names = ["entity_id", "Main User"] + starting_names = [get_column_header_name(name) for name in ["entity_id", "Main User"]] # required_column_names is just a string of column names separated by # commas. other_names = data["required_column_names"].split(',') + data["column_names"] diff --git a/sample-management-custom/caosdb-server/scripting/bin/sample_helpers/sample_upload_get_event.py b/sample-management-custom/caosdb-server/scripting/bin/sample_helpers/sample_upload_get_event.py index 9006643..cf02752 100644 --- a/sample-management-custom/caosdb-server/scripting/bin/sample_helpers/sample_upload_get_event.py +++ b/sample-management-custom/caosdb-server/scripting/bin/sample_helpers/sample_upload_get_event.py @@ -53,13 +53,20 @@ def add_event_to_sample(sample: db.Record, data: pd.Series) -> db.Record: ) ) if positions: - update_property(event, position_prop.id, positions, - datatype=db.LIST(get_entity_name("Position"))) + event = update_property(event, position_prop.id, positions, + datatype=db.LIST(get_entity_name("Position"))) - # TODO: Start/end date, remaining event props + for time_p in ["start_date_prop", "end_date_prop"]: + prop = db.get_entity_by_name(get_entity_name(time_p)) + if (get_column_header_name(time_p) in data and + return_value_if_not_none(data[get_column_header_name(time_p)]) is not None): + event = update_property(event, prop.id, return_value_if_not_none( + data[get_column_header_name(time_p)])) + + # only add if there was any event data at all: + if len(event.properties) > 0: + sample = update_property(sample, event_rt.id, event) - sample = update_property(sample, event_rt.id, event) - return sample -- GitLab