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 1b912ee5e994d9f13ce6b2e2c6838ea7263e1974..15e22bd9c17a67098519e38f6fc8f9c976f09718 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 9006643a13bf56b273e3c567c138152374b5ffed..cf027527f685b652f597d102e32b9c853739a878 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