diff --git a/share/sources/org.datacite/source.yaml b/share/sources/org.datacite/source.yaml index 790d5312e..c5cbe6cfe 100644 --- a/share/sources/org.datacite/source.yaml +++ b/share/sources/org.datacite/source.yaml @@ -27,6 +27,7 @@ configs: namespaces: 'http://purl.org/dc/elements/1.1/': dc 'http://datacite.org/schema/kernel-3': null + 'http://datacite.org/schema/kernel-4': null 'http://www.openarchives.org/OAI/2.0/': null 'http://schema.datacite.org/oai/oai-1.0/': null 'http://www.openarchives.org/OAI/2.0/oai_dc/': null diff --git a/share/transformers/org_datacite.py b/share/transformers/org_datacite.py index 0f9b2f946..f1bf5c60d 100644 --- a/share/transformers/org_datacite.py +++ b/share/transformers/org_datacite.py @@ -488,9 +488,14 @@ def get_schema(self, type): force_text, tools.Try(ctx.record.metadata['oai_datacite'].payload.resource.titles.title) ) - description = tools.RunPython( - force_text, - tools.Try(ctx.record.metadata['oai_datacite'].payload.resource.descriptions.description[0]) + + description = tools.Try( + tools.Join( + tools.RunPython( + 'text_list', + tools.Try(ctx.record.metadata['oai_datacite'].payload.resource.descriptions.description) + ) + ) ) rights = tools.Try( @@ -541,9 +546,7 @@ def get_schema(self, type): tools.Subjects( tools.RunPython( 'text_list', - tools.Concat( - tools.Try(ctx.record.metadata['oai_datacite'].payload.resource.subjects.subject), - ) + tools.Try(ctx.record.metadata['oai_datacite'].payload.resource.subjects.subject) ) ) ) @@ -551,12 +554,12 @@ def get_schema(self, type): tags = tools.Map( tools.Delegate(ThroughTags), tools.RunPython( - force_text, + 'text_list', tools.Concat( tools.Maybe(tools.Maybe(ctx.record, 'metadata')['oai_datacite'], 'type'), tools.RunPython( 'text_list', - (tools.Concat(tools.Try(ctx.record.metadata['oai_datacite'].payload.resource.subjects.subject))) + tools.Try(ctx.record.metadata['oai_datacite'].payload.resource.subjects.subject) ), tools.Try(ctx.record.metadata['oai_datacite'].payload.resource.formats.format), tools.Try(ctx.record.metadata['oai_datacite'].datacentreSymbol),