Skip to content
Snippets Groups Projects
Commit b9572d2a authored by Vuillaume's avatar Vuillaume
Browse files

Merge branch 'zenodo_meta_version' into 'master'

Make sure version is a string in zenodo metadata

See merge request !185
parents 7c45e371 39852e78
No related branches found
No related tags found
1 merge request!185Make sure version is a string in zenodo metadata
Pipeline #167569 failed
......@@ -125,6 +125,7 @@ def find_matching_metadata(codemeta_json):
dictionary cotaining the metadata information found at the
codemeta.json file but written using the Zenodo syntax.
"""
# All the 'person type' allowed in the CodeMeta schema are listed in the
# 'codemeta_allowed_person_fields' list. However, the Zenodo schema
# does not accept certain codemeta 'person type' properties; like
......@@ -174,10 +175,19 @@ def find_matching_metadata(codemeta_json):
if 'description' in codemeta_json:
metadata_zenodo['description'] = codemeta_json['description']
if 'softwareVersion' in codemeta_json and 'version' not in codemeta_json:
metadata_zenodo['version'] = codemeta_json['softwareVersion']
if (
'softwareVersion' in codemeta_json
and 'version' in codemeta_json
and codemeta_json['softwareVersion'] != codemeta_json['version']
):
raise ValueError('`softwareVersion` and `version` have different values')
if 'softwareVersion' in codemeta_json:
metadata_zenodo['version'] = str(codemeta_json['softwareVersion'])
elif 'version' in codemeta_json:
metadata_zenodo['version'] = str(codemeta_json['version'])
else:
metadata_zenodo['version'] = codemeta_json['version']
raise TypeError("A version must be provided in codemeta, either with `version` or `softwareVersion`")
if 'keywords' in codemeta_json:
if type(codemeta_json['keywords']) == list:
metadata_zenodo['keywords'] = codemeta_json['keywords']
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment