From bace9b09afc8d562bcbd54af5ab53c46332d28a0 Mon Sep 17 00:00:00 2001 From: "Kacper Kowalik (Xarthisius)" Date: Tue, 18 Jun 2019 10:34:35 -0500 Subject: [PATCH] Parse 'schema:author' properly --- .../data/5c92fbd472a9910001fbff72.zip | Bin 15982 -> 10787 bytes server/tasks/import_tale.py | 29 +++++++++++++----- 2 files changed, 21 insertions(+), 8 deletions(-) diff --git a/plugin_tests/data/5c92fbd472a9910001fbff72.zip b/plugin_tests/data/5c92fbd472a9910001fbff72.zip index edfd703171f0bd7b9451c3a7409611fef50c1cf9..3d29f22ba026d68cc4ee2aad7e6107a2ad2a2bcd 100644 GIT binary patch literal 10787 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 QMgsrthHr@y)MtPFAKPCi8UO$Q literal 15982 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 a@7hlYxy|#R_$2Z5dHnl1eEWhjkN*SQOZOxI diff --git a/server/tasks/import_tale.py b/server/tasks/import_tale.py index c8355e27..12271f06 100644 --- a/server/tasks/import_tale.py +++ b/server/tasks/import_tale.py @@ -44,7 +44,9 @@ def run(job): # 1. Register data dataIds = [_['identifier'] for _ in manifest["Datasets"]] if dataIds: - jobModel.updateJob(job, status=JobStatus.RUNNING, log="Registering external data") + jobModel.updateJob( + job, status=JobStatus.RUNNING, log="Registering external data" + ) dataMap = pids_to_entities( dataIds, user=user, base_url=DataONELocations.prod_cn, lookup=True ) # DataONE shouldn't be here @@ -62,13 +64,17 @@ def run(job): if 'bundledAs' not in obj: continue uri = obj['uri'] - fobj = File().findOne({'linkUrl': uri}) # TODO: That's expensive, use something else + fobj = File().findOne( + {'linkUrl': uri} + ) # TODO: That's expensive, use something else if fobj: - dataSet.append({ - 'itemId': fobj['itemId'], - '_modelType': 'item', - 'mountPath': obj['bundledAs']['filename'] - }) + dataSet.append( + { + 'itemId': fobj['itemId'], + '_modelType': 'item', + 'mountPath': obj['bundledAs']['filename'], + } + ) # TODO: handle folders # 3. Create a Tale @@ -93,7 +99,14 @@ def run(job): ), WholeTaleLicense.default_spdx(), ) - authors = " ".join((user["firstName"], user["lastName"])) + authors = [ + { + "firstName": author["schema:givenName"], + "lastName": author["schema:familyName"], + "orcid": author["@id"], + } + for author in manifest["schema:author"] + ] tale = Tale().createTale( image,