From 29541a919e69596575a99b12598d51e4ab04f2ce Mon Sep 17 00:00:00 2001 From: Romin Benfer <romin.benfer@rwth-aachen.de> Date: Tue, 19 Jul 2022 18:00:06 +0200 Subject: [PATCH] Fixed empty datatype metadata fields --- src/coscine/object.py | 7 +++++-- src/tests/test.py | 35 +++++++++++++++++++++++------------ 2 files changed, 28 insertions(+), 14 deletions(-) diff --git a/src/coscine/object.py b/src/coscine/object.py index f449700..d20a3dc 100644 --- a/src/coscine/object.py +++ b/src/coscine/object.py @@ -103,12 +103,15 @@ class MetadataForm(InputForm): properties = self.properties(key) metadata[properties.path] = [] for value in values: - metadata[properties.path].append({ + entry = { "value": value, "datatype": properties.datatype \ if properties.datatype else properties.vocabulary, "type": "uri" if properties.vocabulary else "literal" - }) + } + if not entry["datatype"]: + del entry["datatype"] + metadata[properties.path].append(entry) # Check for missing required fields if len(missing) > 0: diff --git a/src/tests/test.py b/src/tests/test.py index 4030970..40b608e 100644 --- a/src/tests/test.py +++ b/src/tests/test.py @@ -9,19 +9,30 @@ def main(): cfg = coscine.Config() logger = coscine.Logger(True) client = coscine.Client(cfg.token, "en", logger) - project = client.project("MLQS") - resource = project.resource("RessourcenNameS3") + project = client.project("Solaris") + resource = project.resource("Merfish") metadata = resource.metadata() - metadata["Creator"] = "Dr. Akula" - metadata["Title"] = "Blutabnahme 101" - metadata["Production Date"] = "2022-01-01" - resource.upload("file.py", "test.py", metadata) - #object = resource.objects()[0] - #form = object.form() - #print(form) - #object.update(form) - #print(object) - #object.download() + metadata["ID"] = "123456789" + metadata["Date"] = "2022-07-09" + metadata["User"] = "Willy Wonkeeeea" + metadata["Species"] = "Human" + metadata["Tissue"] = "Kidney" + metadata["Preservation"] = "Cryo" + metadata["Sample ID"] = "123456" + metadata["Transcript Nr."] = "12345" + metadata["Cell Nr."] = "1234335" + metadata["Probe Nr."] = "1234" + metadata["MD5 checksum"] = "dqwnddiqu2iu2gdi2gidgi23djwjdjws" + metadata = metadata.generate() +# del metadata["https://purl.org/coscine/terms/72ec164a-c261-4516-88a7-049fc02ba9fc/"][0]["datatype"] +# del metadata["https://purl.org/coscine/terms/633936b5-3a40-4471-ae7b-28aa3832956b/"][0]["datatype"] + print(json.dumps(metadata, indent=4)) + #r = resource.upload("main.py", "./__main__.py", metadata) + + obj = resource.object("main.py") + print(obj) + form = obj.metadata() + print(form) ############################################################################### -- GitLab