diff --git a/src/coscine/object.py b/src/coscine/object.py index f449700761ce6b28692d1c1e7e47b3c3c76aeb9e..d20a3dc379c69f7faac2d2b9d8b8b5190d6d3a6d 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 4030970ebc7c89290d3dd6911c00e17b9171810a..40b608e3f7e7bbfe9d78c883ceec0898958692bd 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) ###############################################################################