Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 7 additions & 8 deletions addons/weko/schema/ro_crate.py
Original file line number Diff line number Diff line change
Expand Up @@ -538,14 +538,13 @@ def _build_hierarchical_object(user, target_index, file_metadata, download_file_
if 'choose-additional-metadata' in value:
url = value['choose-additional-metadata']
value_data = json.loads(url.get('value') or '[]')
if not value_data:
continue
file_path = value_data[0]['path']
file_name = file_path.split('/')[-1]
for item in value_data:
item['path'] = item['path'].replace('osfstorage/', '')
url['value'] = file_name
value['choose-additional-metadata'] = url
if value_data:
file_path = value_data[0]['path']
file_name = file_path.split('/')[-1]
for item in value_data:
item['path'] = item['path'].replace('osfstorage/', '')
url['value'] = file_name
value['choose-additional-metadata'] = url
if 'absolute_url' in value:
url = value['absolute_url']
parsed_url = urlparse(url)
Expand Down
4 changes: 4 additions & 0 deletions addons/weko/tests/test_schema.py
Original file line number Diff line number Diff line change
Expand Up @@ -2381,6 +2381,9 @@ def test_write_ro_crate_json_mebyo_empty_files(self):
'grdm-files': {
'value': [], # No files
},
'choose-additional-metadata': { # No additional metadata files
'value': '',
},
}

schema.write_ro_crate_json(
Expand Down Expand Up @@ -2410,6 +2413,7 @@ def test_write_ro_crate_json_mebyo_empty_files(self):
# Project metadata should be reflected
assert_equal(root['name'], 'Test Dataset')
assert_equal(root['description'], 'Description of experiment purpose')
assert_in('ams:purposeOfExperiment', root)

def test_write_ro_crate_json_mebyo_with_additional_metadata_files(self):
"""Test MEBYO schema with choose-additional-metadata containing files.
Expand Down
Loading